Spring security 如何在Spring安全应用程序中列出*all*用户和*all*权限
Q1)Spring Security中是否有一种方法(即类方法)允许您列出Sprint Security user&roles表中的所有用户和角色?(我不是只查找登录用户;我不是只查找给定用户的权限。我查找所有用户和所有权限。) Q1b)如果有办法,运行此查询的用户是否需要特殊权限 (我可以通过编写自己的SQL语句来查询users和Authority表来解决这个问题,但这似乎是不必要的工作,容易出错,并且破坏了Spring安全API。) 如果有帮助,我的应用程序上下文设置相当标准:Spring security 如何在Spring安全应用程序中列出*all*用户和*all*权限,spring-security,Spring Security,Q1)Spring Security中是否有一种方法(即类方法)允许您列出Sprint Security user&roles表中的所有用户和角色?(我不是只查找登录用户;我不是只查找给定用户的权限。我查找所有用户和所有权限。) Q1b)如果有办法,运行此查询的用户是否需要特殊权限 (我可以通过编写自己的SQL语句来查询users和Authority表来解决这个问题,但这似乎是不必要的工作,容易出错,并且破坏了Spring安全API。) 如果有帮助,我的应用程序上下文设置相当标准: <au
<authentication-manager alias="myAuthenticationManager">
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="select username, password, enabled from users where users.username=?"
authorities-by-username-query="select users.username,authority from users,authorities where users.username=authorities.username and users.username=?" />
</authentication-provider>
</authentication-manager>
及
com.mysql.jdbc.Driver
jdbc:mysql://XXXXX:XXXX/XXXXX
XXXXX
XXXXXX
Spring安全实现解决了非常具体的任务,在大多数情况下,此任务只需要一个用户。许多Spring安全查询都包含用户过滤器“where username=?”。通过下载源代码并搜索字符串[“select],您可以轻松地检查所有可用的查询
因此,您应该在DAO层中为您的任务编写自己的查询(JDBC或Hibernate)。否-查看您正在使用的API没有列出所有用户或权限的方法。您需要编写自定义代码来完成此操作
<beans:bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name="driverClassName">
<beans:value>com.mysql.jdbc.Driver</beans:value>
</beans:property>
<beans:property name="url">
<beans:value>jdbc:mysql://XXXXX:XXXX/XXXXX</beans:value>
</beans:property>
<beans:property name="username">
<beans:value>XXXXX</beans:value>
</beans:property>
<beans:property name="password">
<beans:value>XXXXXX</beans:value>
</beans:property>
</beans:bean>