我非常绝望,因为我认为必须有一个简单的解决方案来解决我的问题,但我正在寻找 - 无济于事。
我在Glassfish 3.1.1中使用自定义域。此自定义领域(实现AppservPasswordLoginModuleInterface)从HTTPS请求中获取安全令牌,验证安全令牌,然后将用户返回到Glassfish。
问题是安全令牌不包含任何组,这意味着方法public String [] getGroupsList()或自定义域返回一个空列表(正确,因为安全令牌中没有角色)。
也就是说,我希望有一个安全约束,只有经过验证的用户才能登录。我知道我可以在web.xml中使用以下约束:
<security-constraint>
<web-resource-collection>
<web-resource-name>mywebapp</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Users</role-name>
</auth-constraint>
</security-constraint>
但是因为我没有任何组,所以我无法将任何组映射到角色,因此我不能将auth-constraint与role-name一起使用。
在web.xml中是否有一种方法可以定义只允许经过身份验证的用户,忽略它们所处的角色并忽略它们是否处于任何角色。
有几个我无法实现的解决方案:
但我真的认为web.xml中应该有一种方法可以说:忽略所有组和角色,我只想要一个经过身份验证的用户?
任何帮助,将不胜感激。
很老,但对于那些寻找答案的人,你可以使用*
角色名称:
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
This guy成功解决了这个问题。