再会!
我尝试通过 web.xml 中的角色安全性来保护我的 Web 应用程序:
<security-constraint>
<web-resource-collection>
<web-resource-name>RESTRICTED</web-resource-name>
<description>Resources to be placed under security control</description>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>manager</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<description>ACCESS ROLE</description>
<role-name>manager</role-name>
</security-role>
并且就我使用 Weblogic 而言,有一个带有以下行的 weblogic-application.xml:
<security>
<security-role-assignment>
<role-name>manager</role-name>
<principal-name>manager</principal-name>
</security-role-assignment>
</security>
这个想法是,如果用户已经通过身份验证(Web SSO),他就有一个角色,应用程序必须为这样的用户提供访问权限。
问题是即使用户具有所需的角色,应用程序也会提供基本的登录表单。
我试图添加这样一行:
<login-config/>
在 web.xml 中,根据文章中的事实,据说这一行公开了所有页面(我认为它会删除登录表单,但保留角色安全性),但这并没有奏效。
有人知道如何删除离开角色安全的登录表单吗?
更新:在我的 WebLogic 中有一个手写的身份断言器,用于检查用户的令牌。如果令牌出现,则断言者创建一个主体并让用户进入系统。
一个有趣的事实:如果我使用 Firefox 浏览器,则没有任何登录表单,但在 Chrome 中,基本登录表单总是在这里......