許可制御は、毎日の開発でしばしば遭遇するシナリオでもあります。ユーザーの役割に基づいて特定のリソースを確認できるかどうかを決定する必要があります。現在、市場でのこのタイプのフレームワークには、主にShiroと今日の春のセキュリティが含まれています。許可制御に関する複雑な制御があります。たとえば、ほぼすべての企業には単一のサインインシステムがあります。対応するアクセス許可を取得するためのユーザー名に基づいてデータベースに届き、この許可の下で表示できるリソースを表示します。別のタイプは単純なコントロールであり、これが今日言及していることです。アカウント、パスワード、およびロールをコードに設定することにより、簡単なコントロールを実行することもできます。欠点は自明であり、拡張は良くなく、固定アカウントのみがありますが、デモにはまだ十分です。
わかりました、あまりナンセンスを言わないでください、ポンに行きます
<Dependency> groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter </artifactid> </dependency> <dependency> springframework.boot </groupid> <artifactid> spring-boot-starter-web </artifactid> </depancy> <gripid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-security </artifactid> </dependency>
Spring-Boot-Starter-Securityは、Spring Securityに必要な依存関係をラップします。 1つずつ構成する必要はありません。これにより、運用が簡素化され、時間を節約できます。これらのエンタープライズレベルのフレームワークは思いやりがあると言わざるを得ません。瓶を自分で追加すると、バージョン間の非互換性のためにさまざまな問題が発生する可能性があります。これはすべてトピック外です。私は驚かされ、私たちは続けます。構成クラスをご覧ください
パッケージcom.shuqi; Import org.springframework.context.annotation.configuration; Import org.springframework.core.annotation.order; Import org.springframework.security.config.annotation.web.builders.httpsecurity; Import; org.springframework.security.config.annotation.web.configuration.enablewebsecurity; import org.springframework.security.config.annotation.web.configuration.websecurityconfigurerAdapter; websecurityConfigurerAdapter {@Override Protected void configure(httpsecurity http)throws exception {http.csrf()。disable(); http .authorizerequests().antmatchers( "/index").hasrole( "admin").AnyRequest()。pimitall().and().httpbasic(); }}}この構成は中国語に翻訳されます。 /インデックスリンクにアクセスするには管理者許可が必要であり、他のすべてが許可されます。時々、コードにのみ注意を払います。実際、この注釈@EnableWebsecurityは、春のセキュリティの始まりであるため、より重要です。セキュリティを効果的にするために、多くの構成クラスを導入しました。 Admin Permissionsを設定しましたが、管理者権限に対応するユーザー名とパスワードを設定しなかったため、構成ファイルを見てください
セキュリティ:ユーザー:名前:ルートパスワード:ルートロール:admin
構成はほぼ完了しています。コントローラーをご覧ください
パッケージcom.shuqi.controller; Import org.springframework.web.bind.annotation.RequestMapping; Import org.springframework.web.bind.annotation.restController; @RestControllollerPublic Class HelloController {@RequestMapping(@RequestMapping( "/index") } @RequestMapping( "/index1")public string index1(){return "hello world index1"; }}1つはインターセプト /インデックスであり、もう1つはインターセプトされていない /index1であり、違いを参照してください。プロジェクト、アクセス /インデックスを開始します
アクセス制御が追加され、ルートとルートが入力されていることがわかります。
結果を見ることができます
結果を直接確認するには、 /index1を入力します
これは、私たちの構成が有効になっていることを意味し、Spring Securityは実際にアクセスを制御するのに役立ちました。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。