春のセキュリティとセキュリティフレームワークのシロの比較

ShiroとSpring-Security

1.シロとは?

公式サイト紹介:https://github.com/apache/shiro

  • Apache Shiroは、認証、承認、パスワード、およびセッション管理を実行する、強力で使いやすいJavaセキュリティフレームワークです。ShiroのわかりやすいAPIを使用すると、最小のモバイルアプリケーションから最大のWebおよびエンタープライズアプリケーションまで、あらゆるアプリケーションにすばやく簡単にアクセスできます。

2. Spring-Securityとは何ですか?

公式ウェブサイト紹介:https://spring.io/projects/spring-security

  1. Spring Securityは、強力で高度にカスタマイズ可能な認証およびアクセス制御フレームワークです。これは、Springベースのアプリケーションを保護するための事実上の標準です。
  2. Spring Securityは、Javaアプリケーションに認証と承認を提供するための専用フレームワークです。すべてのSpringプロジェクトと同様に、Spring Securityの本当の強みは、カスタム要件を満たすように簡単に拡張できることです。

3. shiroの主な機能とコアコンポーネント

3.1主な機能

  1. 認証:ユーザーが対応するIDを持っているかどうかを確認するためのID認証/ログイン。
  2. 認可:承認、つまり権限の検証、認証されたユーザーが特定の権限を持っているかどうかの確認、つまり、ユーザーが次のようなことを実行できるかどうかの判断:ユーザーが特定の役割を持っているかどうかの確認。または、ユーザーがリソースに対して特定の権限を持っているかどうかの詳細な検証。
  3. セッションマネージャー:セッション管理、つまり、セッションはユーザーがログインした後のセッションです。ログアウトする前のすべての情報はセッション内にあります。セッションは通常のJavaSE環境またはWeb環境内にあります。
  4. 暗号化:データのセキュリティを保護するための暗号化(プレーンテキストストレージではなくデータベースに保存されるパスワード暗号化など)。

3.2コアコンポーネント

  1. 件名:件名:「現在のユーザー」。ただし、Shiroでは、Subjectの概念は人を指すだけでなく、サードパーティのプロセス、バックグラウンドアカウント(Daemon Account)、またはその他の類似のものにもなります。それは単に「現在ソフトウェアと相互作用している何か」を意味します。
  2. SecuritryManager:これは典型的なFacadeモデルであるShiroフレームワークの中核であり、ShiroはSecurityManagerを介して内部コンポーネントのインスタンスを管理し、それを介してセキュリティ管理のためのさまざまなサービスを提供します。
  3. レルム:レルムは、Shiroとアプリケーションセキュリティデータの間の「ブリッジ」または「コネクタ」として機能します。つまり、ユーザーに対して認証(ログイン)と承認(アクセス制御)の検証を実行するとき、Shiroはアプリケーションで構成されたレルムからユーザーとその許可情報を検索します。
  • レルムは、SpringMvcのDaoレイヤーと比較できます(彼よりも安全です)。

4.利点と欠点の比較

4.1 shiroの利点

  1. Shiroのコードは読みやすく、使いやすいです。
  2. Shiroは非Web環境で使用でき、フレームワークやコンテナーにバインドせず、独立して実行されます。

4.2 shiroの短所

  • 承認済みのサードパーティログインには、手動での実装が必要です。

4.3春のセキュリティの利点

  1. Spring-SecurityはSpringとよりよく統合されており、プロジェクトはSpring-Bootなどによって構築されており、より使いやすくなっています。
  2. より良い春のコミュニティをサポートしてください。
  3. OAuth承認をサポートする公式ウェブサイト:https://spring.io/projects/spring-security-oauth;

4.4春のセキュリティの短所

  • shiroはより複雑なので、shiroは明確で理解しやすいものではありません。

概要:初心者の友達は、簡単に理解できるshiroから始めることができます。上記は個人的な理解であり、偏差がある可能性があります。エラーがあることを願っています。
以下は、個人が作成したshiroとspring-securityに基づく2つの小さな例です。学習と通信へようこ​​そ。後で、セキュリティとshiroの使用について詳しく説明します。

https://gitee.com/zzzxp/Shiro.git
https://gitee.com/zzzxp/spring-security.git

オリジナルの記事を公開 Likes6 訪問数35

おすすめ

転載: blog.csdn.net/zzzzzzzxp/article/details/105505941