发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 大数据 扩展性 并发编程 事件驱动 分布式 SOA

jaas 和 单点登陆问题

    
2004-05-10 17:07
赞助商链接

最近一个外包项目要求sso用jaas做,
以前我们都是用cookie来做单点登陆的。
于是我对jaas了解了一下。
一直没有明白jaas怎么做单点登陆。
我的理解是
jaas用于客户端服务器端安全认证。
如一个用户运行客户端。输入帐号密码(也可以直接用nt帐号密码进行认证,不用输入)
服务器端根据这个帐号和服务器端配置好的权限系统进行权限认证,保证客户端不越权操作服务器端一些东西。

我的问题是。我在一个应用是认证通过了。
然后我在别的应用中如何取得通过的用户信息?
单点登陆就是在一个应用中登陆,其它应用就不用登陆。他们的关系就是在其它应用中能取得该用户的信息。在jaas中能做到吗?

望高手解答。





1
2004-05-10 23:11

做不到。

jaas是一个认证授权框架,它的目的是可更换认证授权的具体实现,用户安全信息在应用之间的传递可以说跟jaas没有关系。

jaas可以跟jdbc类比,只是一组接口,具体的jdbc driver还是需要具体的实现,但是它保证更换jdbc driver不会影响原有的程序。

如果你开发出基于jaas的sso方案,好处就是安全的具体实现变换了,比如用户信息结构变化、存放变化、加密方式变化等等,不会影响你的方案。

2004-05-11 13:21

谢谢,
可惜我搞了半天,得出这样一个结论。

2004-05-11 18:00

SSO/JAAS都是J2EE容器的特性,你只需要使用就可以了。

例如Jetty/JBoss就支持SSO

http://jetty.mortbay.org/jetty/faq?s=650-JBoss&t=JBoss

2004-05-11 19:35

在我的印象中,j2ee容器应该没有对sso做什么明确的要求吧,估计是容器自行实现的。这个“ WEB-INF/jetty-web.xml”文件就应该是jetty自身特有的吧,不同的容器之间应该没有sso的协议来处理这个事情。不过这个SAML有可能成为sso的协议。

单点登陆在不同的情况下有不同的做法,如果只是web tier sso的话,很多服务器都已经有自己的实现方法,就像banq提到的jetty/jboss那样。

但是dkmilk你的讲法好像好要包括独立的客户端,那就比较麻烦。最好能够提供这些信息,sso中包括什么应用服务器,有哪些类型的客户端,这些客户端的登陆方法是什么,有没有强制性要求等等。

权限     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com