论坛首页 Java企业应用论坛

两个奇怪的JBOSS/JAAS问题

浏览 3871 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-10-25  
我用jboss4.2.0GA。部署了两个模块:一个是EJB打成的JAR,使用jboss默认的others安全域。该包为此包含了users.properties和roles.properties,还有jboss.xml;还有一个是纯WAR,其中只包含一些页面和web.xml及jboss-web.xml(已经按照安全域要求配置过),没有其它的JAVA类。我觉得应该也有人这么部署过。
现在我通过WAR的首页访问EJB,jboss提示找不到users.properties和roles.properties。后来别人告诉我在WAR的web-inf/下建立一个空的classes目录,把那两个文件再拷贝进来。这次就可以了。我不明白为何要这么做?为何服务器不会到另一个JAR中去找这两个配置文件?如果一定要这么做,那两个模块中的这两个配置文件内容不一致怎么办?总之,这是第一个问题。

另一个,就是当我用错误的用户密码登陆时(登陆页面也配置成用j_security_check验证),系统返回验证失败页面,这个没错;可我用正确的用户密码登陆时却返回HTTP408错误,说登陆超时。我重启了IE,清了临时文件和cookie,重启了JBOSS,结果都不变。不知这个问题要怎么解决?

最后附加一个小问题:因为登陆页面的action是j_security_check,我怎么配置登陆后该根据角色跳转到不同页面(假设用webwork,不使用request.getXXXX)?
   发表时间:2007-10-25  
我猜测你的第一个问题是classloader的问题,你的ejb和你的war各有各的classloader,我记得3.x的jboss默认配置是ejb和war共享一个classloader的,但这不符合ejb规范,ejb之间,ejb于war之间很容易产生冲突,毕竟一个jboss不一定就你一个应用,环境一复杂混合的classloader就容易出问题。4.x的JBOSS的默认配置应该已经已经分开classloader。
因为最近没用到JBOSS,因此上述说法没经过证实。
0 请登录后投票
   发表时间:2007-10-25  
我觉得jaas应该是整个j2ee规范里被支持的最差的一块,难用不说还很不灵活,javaeye上也没见谁讨论过
建议有时间看看spring的acegi项目吧
0 请登录后投票
   发表时间:2007-10-25  
那就是说若用到安全域的,都必须将ejb和web合到一个module中?否则若分开,就无法解决可能出现的两个模块定义的users.properties和roles.properties冲突问题。
0 请登录后投票
   发表时间:2007-10-25  
spring之所以没再学,感觉它的缺点除了XML太长外,还有就是它构建的应用集成了太多没有成为规范的东西。而EJB3不管怎么说是标准,我一般不用关心它的具体实现方式如何,只要按标准做大多数地方都能通过。
另外,acegi也见别人用过,有时有奇怪的缓存问题(也许JAAS也有)。
HTTP408问题没人见过吗?
0 请登录后投票
   发表时间:2007-11-16  
Acegi 应该有很多大项目在用了啊?我们在几个中大项目里都是用这个,感觉变更或是配置都很方便;用它一点都没错
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics