実際には、Spring Securityを使用しているSpring Securityのロール/機関論理の論理を理解していません。ロール/権限によるセキュアなRESTコントローラ
私は、ログに記録されたユーザーに応じて、マップされたコントローラ要求を承認します。
誰かが私を助けることができますか?
ありがとうございます!
実際には、Spring Securityを使用しているSpring Securityのロール/機関論理の論理を理解していません。ロール/権限によるセキュアなRESTコントローラ
私は、ログに記録されたユーザーに応じて、マップされたコントローラ要求を承認します。
誰かが私を助けることができますか?
ありがとうございます!
一般的なアイデアは非常に簡単です。あなたのアプリケーションにはロールがあり、ユーザーがいます。ユーザーにはロールのコレクションがあります(空の場合もあります)。また、アプリケーションのすべてのエンドポイント(コントローラメソッド、サービスメソッド)は、このロールの一部のセットに対してのみアクセスできるようにすることができます(@RolesAllowedアノテーションを参照)。このメソッドに到達しようとすると(たとえば、HTTPリクエストを介して)、この役割を持たないユーザー(このユーザーは)は、403エラーを受け取る代わりに有効な応答を受け取ることができなくなります。
残りのベースのアプリケーションでスプリングセキュリティを追加するためのリファレンス。これがほかの人にも役立つことを願っています。 http://www.baeldung.com/securing-a-restful-web-service-with-spring-security
インスピレーションを得るサンプルコードのリンクがあります。
アイデアは休止状態ですが、ログイン用にこれらのリダイレクトをリダイレクトして無効にしたり、代替HTTP応答を提供したりすることはありません。
ありがとうSobik。しかし、私はどのようにログインを作成し、役割を "認可"するのか分かりません。エンティティユーザに「Authorization」オブジェクトを作成する必要がありますか? –
Andreas、このクラスを見てください:http://docs.spring.io/spring-security/site/docs/3.2.2.RELEASE/apidocs/org/springframework/security/core/userdetails/UserDetails.html認証オブジェクトは、このインタフェースの実装です。このインタフェースにはメソッドgetAuthorities()が含まれています。例えば、あなたが実装の詳細を知らないので、私が推測するように)、データベースにユーザーを格納する場合、メソッドUserDetails loadByUserName(String userName)を使用してUserDetailsServiceの実装を作成する必要があります。この方法では、あなたのためにあなたのためにAuthorDetailsを定義することができます。 – Sobik
spring-security.xmlまたはSecurityConfigクラスを教えてください。詳細はお手数ですが – Sobik