Q1) Spring Security に、Sprint Security ユーザー & ロール テーブルにあるすべてのユーザーとロールを一覧表示できる方法 (つまり、クラス メソッド) はありますか? (ログインしているユーザーだけを探しているわけではありません。また、特定のユーザーの権限だけを探しているわけでもありません。すべてのユーザーとすべての権限を探しています。)
Q1b) 方法がある場合、このクエリを実行しているユーザーに特別な権限が必要ですか?
(ユーザーと権限のテーブルを照会する独自の SQL ステートメントを作成することでこれをハッキングできますが、それは不必要な作業のように思え、間違いが起こりやすく、Spring Security API が壊れます。)
それが役立つ場合に備えて、私のアプリケーション コンテキストのセットアップはかなり標準的です。
<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>
と
<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>