Security
要件
Reference Framework 2.0 は Nexaweb Platform 4.5.33 またはそれ以上で稼働します。
認証
Reference Framework セキュリティは JDBC や LDAP 認証のようなもののサポートを提供している Spring のセキュリティフレームワークを活用し構築されています。
applicationContext-security.xml ファイルは設定セッティングを含んでいます。我々が納品するサンプルは、in-memory DAO に対し DAO 認証を行います。このサポートはSpring フレームワークによって提供されます。
RefrenceFramework の SecurityManager に対する login() call によって設定どおり認証を行います。貴方のケースでは、貴方の LDAP 実装に対する認証を行うように設定することが可能です。
検証結果の処理はセキュリティイベント (onLoginSucceeded または onLoginFailed) をハンドルすること、または処理されるエラーページを設定することにより可能です。
ログインスクリーンにテキストを加える例である /security/LoginFailed.xml をご覧下さい。
ロール
ロールはUserDetails の一部として SecurityManager に保存されます。UserDetails はユーザーに関する情報を保存するように設計されたクラスです。BasicUserDetails クラスは、ユーザー名とユーザーのロールを保有します。このクラスは部署、フルネーム、アドレスなどのような情報を保有するために拡張ができます。
UserDetials はログイン成功後、SecurityService クラスの getUserDetails() を呼び出すことによりserverから取得されます。SecurityService はapplicationContext-security.xml ファイルで定義される Spring bean です。例とともに納品される実装はin-memory DAO からロールを取得し、BasicUserDetails クラスに戻します。これは LDAP 実装で検索されるロールを戻すことにより、SercurityService インタフェースを実装するクラスによって置き換えられます。
ユーザーに複数のロールをアサインすることが可能です。例えば :DEPT_ENGINEERING;ROLE_CODER or DEPT_ENGINEERING;ROLE_MANAGER
UI要素にロールを適用する
ページのロール属性、メニュー項目、コマンドボタン、ページを構成するコンポーネントは、要素が”有効/無効、表示 / 非表示またはリードオンリー”にするかどうかをコントロールするために使用することが出来ます。
コンセプトは UI 要素が表示/非表示にするロールが頻繁に変わらないということでした。(例:メニュー項目は、通常のユーザーでなくマネージャが利用可能
1 つ以上の UI 要素がアサイン可能です。これはセミコロンで分けられた文字列になります。例えば :ROLE_ADMIN;ROLE_USER.
ロール有権者は全てのロール(unanimous) に合致するため、またはロールの一つのみ(affirmative)に合致するよう設定することができます。ロール有権者 はnexaweb-refrence-framework.xml ファイルのセキュリティセクションで設定されています。詳細な情報は、ロール有権者 をご覧ください。
Reference Framework セキュリティに関する詳細な情報は、以下をご覧ください :