我在Weblogic 10.3.2(11g)上使用Seam 2.2.1.CR1。我想要使用外部SSO(Oracle提供的专用Oracle基于OID)。我想集成这个外部登录(登录屏幕属于SSO)。请注意,我不想使用LdapStore。如果我得到这个权利,这将需要我有一个登录页面通过我的应用程序,然后以某种方式连接到LDAP和登录。我想使用SSO提供的外部登录屏幕。使用外部认证的煤层安全
一些思考
我没有看到使用这种SSO登录到比使用的WebLogic的任何身份验证任何不同的程序。通过SSO和BASIC身份验证在默认身份验证器上,应用程序的结果是相同的:用户输入应用程序,并在每个HttpServletRequest上getRemoteUser()方法返回用户登录的用户名(在SSO或BASIS登录),并且.isUserInRole('blah')根据通过身份验证分配的角色返回true/false。所以,我认为两种认证是完全一样的,在编程方面是明智的。
问题
我的问题涉及如何能与煤层安全集成。 Seam in Action解释了自定义登录屏幕如何包含在应用程序中,该应用程序填充了身份组件和凭据组件。然后Seam使用这些组件来应用高级安全限制,如s:hasRole。
但是,在我的应用程序中,我不要想要一个登录屏幕。我所需要的是能够以某种方式使用Seam安全与我已有的:HttpServletRequest中的角色和用户名。
我已经找到了这个主题(见最后),但我不确定我是否理解。例如,一个问题是如果扩展身份是我所需要的。
另一个问题是,Seam在行动Dan Allen说,拥有登录页面是强制性的,我不想拥有。从449页:
只有接缝不会知道从哪里 直接在请求 这个页面,因为你 没有指定登录页面的非验证用户。如果尚未设置 登录页面,Seam 将引发NotLoggedInException。
通常,我认为将外部SSO(或任何应用服务器身份验证器)与Seam集成仍然很少记录,虽然这是一个非常常见的业务需求。我想我们都会一直待到Seam 3完成。
同时,任何一般/特定的方向?
干杯!
- http://seamframework.org/Community/HelpWithIdentityloginAndAcceptExternallyAuthenticatedPrincipal