我想从Java webapp上下文(Servlet容器)获取所有用户及其角色,或者更好的是查询用户及其角色。
我看到有像Apache Directory这样的项目,如果您知道连接字符串,可以让它为LDAP执行此操作。但是,我希望对提供用户和角色的技术不了解。
具体来说,我在Tomcat上,并且在最简单的场景中想要访问用户& a)中的角色tomcat-users.xml
b)上下文中任何其他已配置的Realm
。但是,我真的在寻找一种不是特定于Tomcat的解决方案,而且它是Realms
。
答案 0 :(得分:0)
在tomcat(或任何其他conytainer)中(使用std.Servlet API),无法直接访问用户角色(不使用tomcat /第三方特定机制)。 getUserPrincipal& isUSerInRole是两种方法,不能直接访问角色列表。
由于API不提供此类访问权限,我猜您将不得不依赖其他容器或技术特定的机制。
正如您所指出的,如果配置的领域是JNDI领域并且领域存储是通过LDAP实现的,则可以编写servlet过滤器并从LDAP获取角色并在会话或线程上设置它们本地