java - 获取Java webapp中的所有用户和角色

标签 java tomcat user-roles servlet-container

问题:

  • 是否存在 Servlet 容器通用的用户和角色概念?
  • 如果是这样,是否有一种与容器无关的方式来访问这些用户和角色?
  • 如果没有,有没有办法访问 Tomcat Realm 用户和角色?

背景:

我想从 Java webapp 上下文(Servlet 容器)获取所有用户及其角色,或者更好的是,直接查询用户及其角色。

我看到有像 Apache Directory 这样的项目,如果您知道连接字符串,就可以为 LDAP 执行此操作。但是,我想对服务于用户和角色的技术一无所知。

具体来说,我在 Tomcat 上,在最简单的情况下,我想访问 a) tomcat-users.xml b) 任何其他已配置的 Realm 中的用户和角色在上下文中。但是,我真的在寻找一个不是特定于 Tomcat 的解决方案,它是 Realms

最佳答案

在 tomcat(或任何其他 conytainer)中(使用 std.Servlet API),直接访问用户角色是不可能的(不使用 tomcat/第三方特定机制)。 getUserPrincipal 和 isUSerInRole 是这两个方法,不能直接访问角色列表。

由于 API 不提供此类访问权限,我想您将不得不依赖其他特定于容器或技术的机制。

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

关于java - 获取Java webapp中的所有用户和角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31644999/

相关文章:

c# - EF没有引入UserRoles表时如何添加角色使用?

java - 静态内部类如何访问外部类的所有静态数据成员和静态成员函数?

java - 在java中从MP3头中提取JPG数据的最简单方法是什么?

Tomcat Hot Deplot 适用于 JSP 文件但不适用于 Java 文件

java - 有时 HttpURLConnection.getInputStream 执行速度太慢

java - Oracle - SET ROLE 语句

java - 拦截 jTable 选择改变事件

java - 比较两个日期之前 SQL 语句检查 IS NOT NULL

tomcat - 如何强制 Logback 为这个 jar 中定义的类使用 jar 中的日志记录配置?

asp.net-mvc-3 - ASP.NET MVC3,如何对不同的用户角色使用不同的输出缓存配置文件?