[解決済み] ロールとパーミッションによるSpringセキュリティ
2023-07-08 07:50:46
質問
ロールベースのセキュリティとパーミッションをセットアップしようとしています。私はSpring-Securityと一緒にこれをやろうとしています。
ACLは私の要件には過剰なようなので、設定したくありません。
私は、以下のように単純なパーミッションとロールを持ちたいだけです。 記事 . 残念ながら、この記事には与えられたソリューションを実装する方法が記載されていません。
誰かがすでにこれを試していて、正しい方向に私を導くことができますか?もしかしたら、実装を説明した別のブログ エントリがあるかもしれません。
どうもありがとうございました。
どのように解決するのですか?
それを実装するためには、以下のようなことが必要なようです。
- モデル (ユーザー、ロール、パーミッション) と、指定されたユーザーのパーミッションを取得する方法を作成します。
-
独自の
org.springframework.security.authentication.ProviderManager
を定義し、それを構成 (プロバイダを設定) して、独自のorg.springframework.security.authentication.AuthenticationProvider
. この最後のものは、その認証メソッドで Authentication を返さなければなりません。org.springframework.security.core.GrantedAuthority
で設定されるべきです。あなたのケースでは、与えられたユーザーのすべての権限。
その記事のトリックは、ユーザーにロールを割り当てることですが、それらのロールのパーミッションの設定を
Authentication.authorities
オブジェクトに設定することです。
そのためには、APIを読んで、すべてを実装するのではなく、基本的なProviderManagerとAuthenticationProviderを拡張できるかどうかを確認することをお勧めします。私はそれを
org.springframework.security.ldap.authentication.LdapAuthenticationProvider
にカスタム LdapAuthoritiesPopulator を設定し、ユーザーの正しいロールを取得することができました。
今回は、あなたが探しているものを得ることができたと思います。 幸運を祈ります。
関連
-
Javaクラスが "Error occurred during initialization of boot layer "というエラーで実行される。
-
JAVA_HOME環境変数が正しく定義されていない問題を解決する
-
java send https request prompt java.security.cert.について。
-
maven レポート エラー 解決不可能な親POM
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] Mavenを使用して、依存関係を持つ実行可能なJARを作成するにはどうすればよいですか?
-
[解決済み] リフレクションとは何か、なぜ有用なのか?
-
[解決済み] Javaで配列を宣言し、初期化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
executeQuery()でデータ操作文が発行できない。解決方法
-
java.sql.SQLException: executeQuery()でデータ操作文を発行できません。
-
メモ帳でJavaプログラムをコンパイルして実行すると、Could not find or load main class ...というエラーが表示される。解決方法
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
java.sql.SQLException: 結果セットの開始前
-
eclipse 実行 Java、エラー: 選択を起動できず、レシーバーもありません。
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
Java基礎 - マッピングとQ/A
-
Spring Bootは、Tomcatの組み込みのmaxPostSizeの値を設定します。
-
WeChat小プログラム Bluetooth通信 Bluetoothモジュールデモ