如何在Tomcat 5.5.x中授予对经过身份验证的用户的访问权限?

时间:2009-11-23 14:15:44

标签: authentication tomcat servlets

我希望在我的网络应用程序中授予对经过身份验证的用户的授予访问权限,而不要求他们成为特定角色的成员。

我的第一个猜测是在我的身份验证约束中指定<role-name>*</role_name>,但是这似乎意味着授予对我的网络应用中定义的任何角色的访问权限,而不授予对任何经过身份验证的用户的访问权限。

是否可以在Tomcat 5.5.x中执行此操作,如果是这样的话?

2 个答案:

答案 0 :(得分:1)

事实证明,Tomcat确实支持这一点。在server.xml中,添加allRolesMode = authOnly 在适当的Realm标签中。

答案 1 :(得分:0)

我认为直接的答案是否定的,你不能在Java EE 5中做到这一点。但你可以创建一个“每个人”角色,每个经过身份验证的用户都参与其中。我认为这就是约翰所得到的,我是如何做到的。它真的没什么不同。

或者,如果您愿意以编程方式执行此操作并使用容器管理的身份验证,则应该能够通过检查HttpServletRequest.getRemoteUser()是否为null来检测经过身份验证的用户。这不涉及角色。