Spring Security 権限制御フレームワークの使用ガイド
バックグラウンド管理システムでは、通常、インターフェイスに対するさまざまなユーザーのアクセス機能を制限するために、アクセス許可制御が必要です。ユーザーに特定の権限がない場合、特定のインターフェイスにアクセスできません。
この記事では、waynboot-mall プロジェクトを例として、権限制御フレームワーク Spring Security を一般的なバックエンド管理システムに導入する方法を紹介します。概要は次のとおりです。
waynboot-mall プロジェクトのアドレス: https://github.com/wayn111/waynboot-mall
1. Spring Security とは
Spring Security は Spring フレームワークに基づくオープン ソース プロジェクトで、Java アプリケーションに強力で柔軟なセキュリティ ソリューションを提供するように設計されています。 Spring Security は次の機能を提供します:
- 認証: フォーム ログイン、HTTP 基本認証、OAuth2、OpenID などの複数の認証メカニズムをサポートします。
- 承認: ロールまたは権限ベースのアクセス制御と、式ベースのきめ細かい制御をサポートします。
- 保護: セッション固定、クリック ハイジャック、クロスサイト リクエスト フォージェリ、その他の攻撃の防止など、さまざまな保護手段を提供します。
- 統合: Spring Framework および他のサードパーティのライブラリやフレームワーク (Spring MVC、Thymeleaf、Hibernate など) とのシームレスな統合。
2. Spring Securityの導入方法
spring-boot-starter-security 依存関係を waynboot-mall プロジェクトに直接導入します。
リーリー3. Spring Security の設定方法
Spring Security 3.0 での Spring Security の構成は、これまでとは少し異なります。たとえば、WebSecurityConfigurerAdapter を継承しなくなりました。 waynboot-mall プロジェクトの具体的な構成は次のとおりです。
リーリーここでは、SecurityConfig 構成クラスの詳細を説明します:
- filterChain(HttpSecurity httpSecurity) メソッドはアクセス制御の中核となるメソッドで、URL、cors 設定、csrf 設定、ユーザー情報読み込み設定、jwt フィルターインターセプト設定などの機能で権限認証が必要かどうかを設定できます。
- authenticationManager(AuthenticationConfigurationauthenticationConfiguration) メソッドは、認証インターフェイスを有効にするのに適しており、手動で宣言する必要があります。そうしないと、起動時にエラーが報告されます。
- bCryptPasswordEncoder() メソッドを使用すると、ユーザーはログイン時にパスワード暗号化ポリシーを定義できます。手動で宣言する必要があります。宣言しないと起動時にエラーが報告されます。
4. Spring Security の使用方法
Spring Security を使用するには、次のように、アクセス許可を制御する必要があるメソッドまたはクラスに、対応する @PreAuthorize アノテーションを追加するだけです。 リーリー
@PreAuthorize("@ss.hasPermi('system:role:list')") アノテーションをリスト メソッドに追加して、現在ログインしているユーザーがリスト メソッドにアクセスするための system:role:list 権限を持っていることを示します。そうでない場合は、権限エラーが返されます。5.現在ログインしているユーザーの権限を取得します
SecurityConfig 構成クラスでは、データベース内のユーザーのアカウントとパスワードを、フロントエンドによって渡されたアカウントとパスワードと比較するために、ユーザー情報を読み込むための実装クラスとして UserDetailsServiceImpl を定義します。コードは以下のように表示されます、
リーリー
UserDetailsServiceImpl のコード ロジックを説明します。コードを見れば理解できると思います。
- データベース内の現在のユーザー情報を読み取る
- ユーザーが存在するかどうかを確認する
- 無効にするかどうかを決定する
- 現在のユーザーのロール情報を取得する
- ロールに基づいて権限情報を取得する
- ###結論は###
以上がSpring Security 権限制御フレームワークの使用ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









次のコードがあります: publicSecurityFilterChainsecurityFilterChain(HttpSecurityhttp)throwsException{returnhttp.httpBasic().disable().cors().and().csrf().disable().authorizeHttpRequests().requestMatchers("

Kernelsecuritycheckfailure (カーネルチェック失敗) は比較的一般的な停止コードですが、理由が何であれ、ブルースクリーンエラーは多くのユーザーを悩ませます、当サイトでは 17 種類のエラーをユーザーに丁寧に紹介します。 kernel_security_check_failure ブルー スクリーンに対する 17 の解決策 方法 1: すべての外部デバイスを削除する 使用している外部デバイスが Windows のバージョンと互換性がない場合、Kernelsecuritycheckfailure ブルー スクリーン エラーが発生することがあります。これを行うには、コンピュータを再起動する前に、すべての外部デバイスを取り外しておく必要があります。

2023年、AI技術が注目を集め、プログラミング分野を中心にさまざまな業界に大きな影響を与えています。 AI テクノロジーの重要性に対する人々の認識はますます高まっており、Spring コミュニティも例外ではありません。 GenAI (汎用人工知能) テクノロジーの継続的な進歩に伴い、AI 機能を備えたアプリケーションの作成を簡素化することが重要かつ緊急になっています。このような背景から、AI 機能アプリケーションの開発プロセスを簡素化し、シンプルかつ直観的にし、不必要な複雑さを回避することを目的とした「SpringAI」が登場しました。 「SpringAI」により、開発者はAI機能を搭載したアプリケーションをより簡単に構築でき、使いやすく、操作しやすくなります。

Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

Spring プログラムによるトランザクションを実装する方法: 1. TransactionTemplate を使用する; 2. TransactionCallback および TransactionCallbackWithoutResult を使用する; 3. Transactional アノテーションを使用する; 4. TransactionTemplate を @Transactional と組み合わせて使用する; 5. トランザクション マネージャーをカスタマイズする。

GOを使用してアクセストークンの検証を実装しようとしています。しかし、オンラインで見た例では、TOKEN_SECRET を使用して検証しているだけのようです。ただし、私は Javaspring でのプログラミングに慣れているため、TOKEN_SECRET を使用する必要はありません。 jwk-set-uri を指定するだけで、有効性 (自動セキュリティ フィルターなど) がチェックされ、oauth サーバーと通信してこの検証が行われることがわかります。 Goにはoauthサーバーにリクエストを行ってトークンが有効かどうかを確認するライブラリはありませんか? oauth サーバーの userinfo エンドポイント http://localh にリクエストを送信することで、これを手動で実行できることはわかっています。

Spring でトランザクション分離レベルを設定する方法: 1. @Transactional アノテーションを使用します; 2. Spring 構成ファイルに設定します; 3. PlatformTransactionManager を使用します; 4. Java 構成クラスに設定します。詳細な導入方法: 1. @Transactional アノテーションを使用し、トランザクション管理が必要なクラスまたはメソッドに @Transactional アノテーションを追加し、属性に分離レベルを設定します。 2. Spring の設定ファイルなどで

はじめに RESTful API は、最新の WEB アプリケーションに不可欠な部分になっています。これらは、Web サービスを作成および使用するための標準化されたアプローチを提供するため、移植性、拡張性、および使いやすさが向上します。 Java エコシステムでは、JAX-RS と springmvc が、RESTful API を構築するための 2 つの最も人気のあるフレームワークです。この記事では、両方のフレームワークについて詳しく説明し、その機能、利点、欠点を比較して、情報に基づいた決定を下せるようにします。 JAX-RS: JAX-RSAPI JAX-RS (JavaAPI for RESTful Web Services) は、REST 開発のために JavaEE によって開発された標準 JAX-RSAPI です。
