2011-10-19 7 views
4

コンテナ管理のセキュリティが全く新しく、Webアプリケーションでコンフィグレーションする際にいくつかの助けが必要です。コンテナがWebアプリケーションのセキュリティを管理する

Webアプリケーション内のjspへのアクセスを制限したいと考えています。これは私が私のweb.xmlでセキュリティを設定する方法です

<security-constraint> 
    <display-name>PrivilegedConstraint</display-name> 
    <web-resource-collection> 
     <web-resource-name>JSP Files</web-resource-name> 
     <description>All the jsp files in the web application</description> 
     <url-pattern>*.jsp</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <description/> 
     <role-name>PrivilegedRole</role-name> 
    </auth-constraint> 
    <user-data-constraint> 
     <description/> 
     <transport-guarantee>NONE</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>BasicRealm</realm-name> 
</login-config> 
<security-role> 
    <description>This is a privileged role. Has access to everything in the web app</description> 
    <role-name>PrivilegedRole</role-name> 
</security-role> 

私の質問は以下のとおりです。

ログイン-config要素でレルム名の目的は何ですか? ユーザ名とパスワードを設定し、ユーザをロールにマッピングするにはどうすればよいですか?

ウェブアプリケーション内のJSPにアクセスしようとすると、ユーザー名とパスワードの入力が求められます。何を私はそこに与えるのですか?そして、このセキュリティメカニズムはどのように機能しますか?

私は完全にセキュリティに新しいので、誰かがセキュリティの設定の基本と実際の動作の仕組みを説明する素敵な記事を教えてくれると感謝します。

答えて

3

Q:「login-config要素のrealm-nameの目的は何ですか?」 Java EE 6 tutorialから

分野は、Webサーバーまたはアプリケーションサーバー用に定義されたセキュリティポリシードメインです。レルムには、グループに割り当てられていてもいなくてもよいユーザーの集合が含まれています。

現在Servlet 3.0 specにこのように定義されたように動作:

HTTP基本認証、ユーザ名およびパスワードに基づいて、 は、HTTP/1.0仕様で定義された認証機構です。 WebサーバーはWebクライアントにユーザーの認証を要求します。リクエストの一部である として、Webサーバーは というユーザーが認証される領域(文字列)を渡します。 Webクライアントは、ユーザー名 とパスワードを取得し、Webサーバーに送信します。 Webサーバーは、指定されたレルム内のユーザーを認証します。


Q: "私は、ユーザ名を設定パスワードとユーザーを役割にマップしていますか?"

これはコンテナ固有です。つまり、各サーバーベンダーは、ユーザー/グループの定義方法とこの情報の構成方法を自由に定義することができます。これを行うには通常複数の方法があります。

ユーザーとグループは、多くの場合、ディレクトリに定義されます。サーバーはこのディレクトリを使用するように構成され、管理者はデプロイメント時にアプリケーションの役割をマップします。

開発者のTomcatテストサーバーでフラットファイルを使用する場合があります。実動WebSphereサーバーがLDAP経由で会社のExchangeディレクトリーに接続する可能性があります。

詳しくは、サーバーのマニュアルを参照してください。


あなたは、NetBeansとGlassFishとOracle Java EE 6チュートリアルに従うよりも悪いんが、そのベンダーの製品に固有の手順を認識することができます。

関連する問題