何その1.shiro?
Apacheの史郎は、認証、承認、暗号化、およびセッション管理を提供するJavaのセキュリティフレームワークです。
機能の2.shiro
以下に示すように、その基本的な機能のポイント:
ここでは、各機能の意味でのいくつかのポイントは以下のとおりです。
認証:認証/ログインは、ユーザが適切なIDを持っていないことを確認してください。
許可:能力を確認するために認証することを、ユーザーが権限を認証したことを確認し、それがユーザーのようなことを行うことができるかどうかを決定することです:ユーザーがリソースに対するアクセス権を持っていることを確認きめ細かいです。
セッション管理:回答管理は、それは、終了が存在しない場合に、セッションの彼の情報のすべてのユーザのログインセッションで、セッションが使用するJavaSE環境であってもよいし、また、Web環境することができます。
暗号化:暗号化、セキュアなデータ;例:データベースに保存されている暗号化されたパスワード、代わりに平文を格納します。
サポートWeb:Webサポートは、非常に簡単にWeb環境に統合することができます。
キャッシュ:キャッシュ、常にキャッシュに、チェックする必要はありません、このような役割\権限を持つユーザのログイン、ユーザ情報としては、効率を提供するために取ることができます。
同時実行:史郎サポート同時検証、マルチスレッド、つまり、そのようなスレッドで別のスレッドを開くなど、それが自動的に許可過去を伝播することができます。
テスト:テスト・サポートを提供します。
RUNとして:それは別のユーザーへのユーザー(彼らが許可した場合)のアクセスを可能にするふりをします。
私が覚えている:私を忘れないでください、これはつまり、最初のログイン後にして、再び次の時間が記録されてきていない、非常に共通の特徴です。
最後にではなく、少なくとも:ユーザー、保守権限を維持するつもりはない史郎、これらの設計と作成するために、開発者を必要とし、その後、史郎応答へのインタフェースを介して注入。
図からわかるように:直接件名オブジェクトと対話するために、アプリケーション・コード、史郎は、外部APIのコアが対象であることを意味しています。
次のようにそれぞれのAPIを意味しています。
被験者:本体が現在の「ユーザ」を表す(ユーザが必ずしも特定の人物ではない)、任意の現在のものインタラクティブアプリケーションが対象となっています。
SecurityManagerが実際の演奏で、件名がファサードを考慮され、被験者は全てのSecurityManagerにバインドされ、セキュリティマネージャがします件名の全てと対話するために委託しました。
セキュリティマネージャ:セキュリティマネージャは、それがすべてのSecurityManagerと相互作用する操作の安全性についてであり、それはすべての件名のマネージャーである、あなたはそれは史郎の中核であることを確認することができ、彼女は背後にある他のコンポーネントとの相互作用の役割を果たしています。SpringmvcはDispatherServletフロントコントローラとして彼を置くことができます。
レルム:ドメイン。四郎安全性データは、セキュリティマネージャがユーザーの身元を確認することがレルムから、(例えば、ユーザ、役割、権限など)、対応するユーザにレルムから取得ユーザの身元が正当なものであるかを決定するために比較し、また、領域から適切なユーザーを取得する必要が役割/権限は、ユーザーが操作できることを確認してください。レルムは、DataSource、すなわち安全なデータソースとして見ることができます。
これは単に、約2つのものです:
図1に示すように、アプリケーションの件名認証および許可を実行するためのコード、およびセキュリティマネージャに委託テーマ。
SecurityManagerが正当なユーザーとその権限を判断するために取得するように2は、我々は、史郎のSecurityManagerの注入レルムに必要です。