我已经完成了一个完全使用Apache Shiro的j2ee(jsf,cdi,jpa)应用程序,它工作得非常好,并且我正在享受shiro注释(hasRole,hasPermission等)。
现在,这个项目必须能够使用SiteMinder进行身份验证,这就是我的问题:
我的目的是使用SiteMinder进行身份验证(并控制我的会话)并让Shiro仅用于授权。 Shiro无法介入SiteMinder Session。
答案 0 :(得分:0)
如何在不丢失Shiro授权的情况下设置Realm来处理SiteMinder身份验证(似乎SiteMinder会在HTTP标头中提供用户名和角色名称)
在这种情况下,您需要有2个领域来处理身份验证,另一个领域来处理授权,请查看this one了解如何
如果我创建一个自定义Realm,请执行" doGetAuthenticationInfo"并在会话中记录用户,SiteMinder会话会发生什么?
您的自定义实体将负责成为SiteMinder的客户端,因此doGetAuthenticationInfo将返回您从SiteMinder返回的任何内容我不熟悉Siteminder,但您可以将CAS realm作为示例进行检查
如果我设置" subject.getSession()。setTimeout(1000);"在Shiro中,SiteMinder会话已经有一个已定义的超时会发生什么?
我认为当你使用sso解决方案时会出现混乱,会话由sso服务器而不是客户端管理