目次
1. Spring Security とは
2. Spring Securityの導入方法
3. Spring Security の設定方法
4. Spring Security の使用方法
ホームページ コンピューターのチュートリアル コンピュータ知識 Spring Security 権限制御フレームワークの使用ガイド

Spring Security 権限制御フレームワークの使用ガイド

Feb 18, 2024 pm 05:00 PM
spring security spring security spring mvc waynboot

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 構成クラスでは、データベース内のユーザーのアカウントとパスワードを、フロントエンドによって渡されたアカウントとパスワードと比較するために、ユーザー情報を読み込むための実装クラスとして UserDetailsS​​erviceImpl を定義します。コードは以下のように表示されます、

リーリー

UserDetailsS​​erviceImpl のコード ロジックを説明します。コードを見れば理解できると思います。

    データベース内の現在のユーザー情報を読み取る
  • ユーザーが存在するかどうかを確認する
  • 無効にするかどうかを決定する
  • 現在のユーザーのロール情報を取得する
  • ロールに基づいて権限情報を取得する
  • ###結論は###
この記事では、権限制御フレームワーク Spring Security 3.0 バージョンをバックエンド管理システムに導入する方法とコードの実践方法について説明します。これは、誰もがアクセス許可制御フレームワーク Spring Security を明確に理解するのに役立つと信じています。後で、この記事の使用ガイドに従って、アクセス制御のために Spring Security を独自のプロジェクトに段階的に導入できます。

以上がSpring Security 権限制御フレームワークの使用ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Spring Security 6: cors() は非推奨となり、削除対象としてマークされています Spring Security 6: cors() は非推奨となり、削除対象としてマークされています Feb 10, 2024 pm 11:45 PM

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

kernel_security_check_failure ブルー スクリーンを解決する 17 の方法 kernel_security_check_failure ブルー スクリーンを解決する 17 の方法 Feb 12, 2024 pm 08:51 PM

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

Spring Boot と OpenAI の出会いによる新しいプログラミング パラダイム Spring Boot と OpenAI の出会いによる新しいプログラミング パラダイム Feb 01, 2024 pm 09:18 PM

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

Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Spring Boot と Spring AI を使用して生成人工知能アプリケーションを構築する Apr 28, 2024 am 11:46 AM

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

Springプログラマティックトランザクションの実装方法は何ですか? Springプログラマティックトランザクションの実装方法は何ですか? Jan 08, 2024 am 10:23 AM

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

GO アクセス トークン (keycloak) を認証する GO アクセス トークン (keycloak) を認証する Feb 09, 2024 am 09:30 AM

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

Spring でトランザクション分離レベルを設定する方法 Spring でトランザクション分離レベルを設定する方法 Jan 26, 2024 pm 05:38 PM

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

JAX-RS 対 Spring MVC: RESTful 巨人間の戦い JAX-RS 対 Spring MVC: RESTful 巨人間の戦い Feb 29, 2024 pm 05:16 PM

はじめに 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 です。

See all articles