JiveJdon Community Forums
在线128人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
1 2 3 Go 总共有 35 回复 / 3
 发表新帖子   回复该主题贴
TalkBig

悄悄话
发表文章: 12
注册时间: 2003年06月20日 12:26
web层身份验证的问题 2003年08月06日 17:03 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表
大家好,J2EE提供了声明性安全管理是我们不用编写代码就可以对我们的资源进行管理。但是这样的话就限制了只能使用在J2EE服务器中定义的用户进行登陆,但多数情况下用户的信息是存放在数据库中的,这时该怎么做呢?怎么样才可以使用数据库中的用户信息,同时可以享受到声明性安全模型带来的便利呢?

sprsong

悄悄话
发表文章: 150
注册时间: 2003年07月12日 18:26
Re: web层身份验证的问题 2003年08月06日 17:12 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
很简单:所有的jsp都以
<%@ include file="/common/jspInclude.jsp"%>
开头。
/common/jspInclude.jsp的内容是:
----------------------------------------------
如果(从session取到用户信息对象){
//用户是合法用户
String oper_id = session里的用户信息对象的oper_id属性。
……(其他常用属性)
}否则{
//用户不合法
response.sendRedirect("login.htm");
}
--------------------------------------------
login.htm提交给一个jsp或servlet,密码正确后生成一个用户信息对象put到session里。

还可以设定一个表纪录用户对某个页面有没有权限,这样就可以在/common/jspInclude.jsp中加入对页面级的权限控制。

sprsong

悄悄话
发表文章: 150
注册时间: 2003年07月12日 18:26
Re: web层身份验证的问题 2003年08月06日 17:13 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
都以

《%@ include file="/common/jspInclude.jsp"%》
sprsong

悄悄话
发表文章: 150
注册时间: 2003年07月12日 18:26
Re: web层身份验证的问题 2003年08月06日 17:15 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
原来这里可以写jsp语句试试一个循环:
<%for(int i=0;i<10;i++) out.println("<font size="+i+">"+i+"</font>");%>
sprsong

悄悄话
发表文章: 150
注册时间: 2003年07月12日 18:26
Re: web层身份验证的问题 2003年08月06日 17:18 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
<%=request.getRemoteAddr()%>
robbin

悄悄话
发表文章: 589
注册时间: 2003年06月18日 09:32
Re: web层身份验证的问题 2003年08月06日 17:25 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
和具体的app server实现有一定关系。比如说Tomcat是把用户信息保存在配置文件里面的,那么肯定做不到你说的功能。

而Weblogic6.x是可以做到的,可以在Weblogic6.x的console配置用户信息从数据库中读取,然后在web.xml中声明受保护的servlet/jsp就可以了,不需要在JSP里面嵌入任何代码。

但是weblogic7.x以上又不可以了,weblogic7.x以上,把用户配置来源中的数据库这一项删除了,改成了LDAP,其实用LDAP是更先进的办法。

iceant

悄悄话
发表文章: 459
注册时间: 2002年10月13日 22:32
Re: web层身份验证的问题 2003年08月06日 17:40 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
LDAP 有问题,如果一个员工同属于多个部门,就没法描述了。
我记得 Tomcat/Weblogic 都提供了 Realm, 应该可以按照提供的接口,写相应的实现,提供各种数据接入的方式
TalkBig

悄悄话
发表文章: 12
注册时间: 2003年06月20日 12:26
Re: web层身份验证的问题 2003年08月06日 17:52 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
sprsong兄没有理解我的意思,你所说的方法是现在最常用的方法,但是需要自己手动的写代码来控制对手限制资源的访问,并不是声明性安全模型。

本来我想可以写一个登陆页面,让他请求一个特殊的Servlet,然后在该Servlet中首先验证一下该用户是否是合法用户,然后再影射到weblogic中相应的角色上,再把请求forward到j_security_check上,这样就不用在app sever中定义很多用户了;或者是写一个Filter截获对j_security_check的请求,对用户输入的信息进行相应的处理。但是在weblogic中试了一下,都不成功。

我想,如果web层的标准API中可以定义一些方法来把这两者联系起来就好了。为什么weblogic要在7.0中把该功能去掉呢?
mellon

悄悄话
发表文章: 106
注册时间: 2003年07月31日 18:43
Re: web层身份验证的问题 2003年08月07日 10:12 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
Servlet2。3规范以后,开始支持Filter,Filter是最适合做身份验证的了。

Filter在web.xml中完成配置就可,在页面中既不需要有include,也不需要有自定义标记。

不过,即使你所用的WebServer不支持servlet2.3规范,结合一些设计模式,照样可以使用Filter来完成。这样修改身份认证,甚至去掉身份认证,在不同的身份认证之间切换,都会非常容易。

希望能有所帮助。
hyzou

悄悄话
发表文章: 29
注册时间: 2003年07月29日 10:24
Re: web层身份验证的问题 2003年08月07日 15:22 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
这个基本上是做不到的,因为是服务器相关的。
还是自己实现一套最好。放在系统的单入口处就可以了
TalkBig

悄悄话
发表文章: 12
注册时间: 2003年06月20日 12:26
Re: web层身份验证的问题 2003年08月11日 12:54 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
自己是现一套的话当然可以,现在的系统基本上都是这么做的,不过这样的话就不能享受到AppServer所提供的声明性安全所带来的便利了。
张无云

悄悄话
发表文章: 22
注册时间: 2003年01月10日 13:08
Re: web层身份验证的问题 2003年08月11日 13:40 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
在Tomcat中如果通过声明性管理安全的话,也可以是数据库形式的。

比如声明一个Web应用的访问的角色是administrator,那么另外在数据库中需要建立两个表,一个是角色表,一个是用户表,将角色和用户映射起来,这是以前看的资料,自己没有试过,可以找tomcat的文档看一下。

steeven

悄悄话
发表文章: 20
注册时间: 2002年12月19日 18:43
Re: web层身份验证的问题 2003年08月11日 13:40 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
很多appServer都支持数据库读取用户信息,把你的用户管理基于它就好了。
hyzou

悄悄话
发表文章: 29
注册时间: 2003年07月29日 10:24
Re: web层身份验证的问题 2003年08月11日 13:52 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
to talkbig:

把声明性安全都作进去不就可以了吗?
我觉得这样作总比对每个服务器实现一个adapter好的多
sprsong

悄悄话
发表文章: 150
注册时间: 2003年07月12日 18:26
Re: web层身份验证的问题 2003年08月11日 15:02 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我想知道“AppServer所提供的声明性安全所带来的便利”是哪些便利?不知道自己做可不可以实现。
这个主题有 35 回复 / 3Go 1 2 3
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  发贴前查询 标签列表勿重复发表问题

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam