Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取Java webapp中的所有用户和角色 问题: 是否有一个对Servlet容器通用的用户和角色的概念 如果是,是否有一种容器无关的方式来访问这些用户和角色 如果没有,是否有访问Tomcat领域用户和角色的方法 背景:_Java_Tomcat_User Roles_Servlet Container - Fatal编程技术网

获取Java webapp中的所有用户和角色 问题: 是否有一个对Servlet容器通用的用户和角色的概念 如果是,是否有一种容器无关的方式来访问这些用户和角色 如果没有,是否有访问Tomcat领域用户和角色的方法 背景:

获取Java webapp中的所有用户和角色 问题: 是否有一个对Servlet容器通用的用户和角色的概念 如果是,是否有一种容器无关的方式来访问这些用户和角色 如果没有,是否有访问Tomcat领域用户和角色的方法 背景:,java,tomcat,user-roles,servlet-container,Java,Tomcat,User Roles,Servlet Container,我想从JavaWebApp上下文(Servlet容器)获取所有用户及其角色,或者直接查询用户及其角色 我看到有一些像apachedirectory这样的项目,如果您知道连接字符串,就可以为LDAP执行此操作。然而,我想对服务于用户和角色的技术保持不可知论 具体来说,我在Tomcat上,在最简单的场景中,我希望访问a)Tomcat users.xmlb)上下文中任何其他配置的Realm中的用户和角色。然而,我真的在寻找一种解决方案,它不是Tomcat特有的,它是Tomcat(或任何其他conyta

我想从JavaWebApp上下文(Servlet容器)获取所有用户及其角色,或者直接查询用户及其角色

我看到有一些像apachedirectory这样的项目,如果您知道连接字符串,就可以为LDAP执行此操作。然而,我想对服务于用户和角色的技术保持不可知论

具体来说,我在Tomcat上,在最简单的场景中,我希望访问a)
Tomcat users.xml
b)上下文中任何其他配置的
Realm
中的用户和角色。然而,我真的在寻找一种解决方案,它不是Tomcat特有的,它是Tomcat(或任何其他conytainer)(使用标准Servlet API)中的
领域
,直接访问用户角色是不可能的(不使用Tomcat/第三方特定机制)。getUserPrincipal和isUSerInRole是两种方法,无法直接访问角色列表

由于API没有提供这样的访问,我想您将不得不依赖于其他特定于容器或技术的机制


正如您所指出的,如果配置的领域是一个JNDI领域,并且领域存储是通过LDAP实现的,那么可以编写一个servlet过滤器,从LDAP获取角色,并在会话或本地线程上设置它们。

servlet实际上只关心给定请求的安全上下文,这样你就可以知道是谁打来的,并了解他们的详细情况。您所问的实际上是servlet规范不知道或不关心的目录(LDAP/Database/whatever)。JNDI可能是访问目录的通用API的最佳选择(尽管您需要实现
Realm
或类似Realm的组件来实际挖掘从JNDI返回的对象)。