我有一个已经完成的j2ee(jsf, cdi, jpa)应用程序,它完美地使用了Apache Shiro,它工作得很好,我很喜欢Shiro注释(hasRole, hasPermission等)。
现在,这个项目也必须能够与SiteMinder进行身份验证,这里是我的问题:
- 我如何设置一个领域来处理SiteMinder身份验证而不失去Shiro授权(似乎SiteMinder会给我在HTTP头用户名和rolename)
- 如果我创建一个自定义Realm,做"doGetAuthenticationInfo"并在会话中登录用户,会发生什么与SiteMinder会话?
- 如果我在Shiro中设置"subject.getSession().setTimeout(1000);",那么已经定义了超时的SiteMinder Session会发生什么?
我的目的是使用SiteMinder进行身份验证(并控制我的会话),而让Shiro进行授权。
我如何设置一个领域来处理SiteMinder认证而不失去Shiro授权(似乎SiteMinder会给我在HTTP头用户名和rolename)
这里需要两个域一个处理身份验证,另一个处理授权看看这个如何
如果我创建一个自定义Realm,做"doGetAuthenticationInfo"并在会话中登录用户,会发生什么与SiteMinder会话?
你的自定义real将负责成为SiteMinder的客户端所以doGetAuthenticationInfo将返回你从SiteMinder得到的任何东西我对SiteMinder不熟悉但你可以检查CAS领域作为一个例子
如果我在Shiro中设置"subject.getSession().setTimeout(1000);",那么已经定义了超时的SiteMinder Session会发生什么?
我认为这里有一个混乱当你使用sso解决方案会话是由sso服务器而不是客户端管理