servlets / jsp - 在security-constraint中没有要使用的角色时进行FORM身份验证

时间:2014-06-09 17:17:08

标签: java jsp authentication servlets

我试图创建一个FORM身份验证,但我不需要任何角色。

我想要阻止的模式是“/ numbers”,所以我尝试:

<login-config>
   <auth-method>FORM</auth-method>
   <form-login-config>
      <form-login-page>/login</form-login-page>
      <form-error-page>/login?erro=true</form-error-page>
   </form-login-config>
</login-config>
<security-constraint>
   <display-name>Numeros da sorte</display-name>
   <web-resource-collection>
      <web-resource-name>Numeros da sorte</web-resource-name>
      <description/>
      <url-pattern>/numbers</url-pattern>
   </web-resource-collection>
</security-constraint>

但它不起作用,因为它允许每个人/数字而不要求身份验证,所以如果我在那里放置一些角色,它就会开始工作。

有一种方法可以在没有角色的情况下控制授权(只需要进行身份验证)?

1 个答案:

答案 0 :(得分:0)

是的,但是除了web.xml中的配置之外,还需要其他东西。

在web.xml中,使用auth-constraint元素指定可以访问受保护资源的角色,例如admin。然后,在应用程序服务器中,将所有经过身份验证的用户映射到admin角色。通过执行此映射,我们将admin角色分配给所有经过身份验证的用户。由于所有经过身份验证的用户都具有管理员角色,因此这些用户可以访问受保护资源。