4

全体像を示す例をあまり見たことがないので、これには少し戸惑いました。私がこれまでに見つけた最も良い説明はこれです。

たとえば、「admin」などのセキュリティロールをweb.xmlで定義し、ログインフォームに必要なすべてのフィールド(つまり、アクションとしてのj_security_check、およびフィールドj_username、j_password)を設定することにより、実際の認証はどのように/どこで行われますか?

データベースに保存されているユーザー名/パスワード(ハッシュ)を使用したカスタム認証を使用する予定です。ユーザーがフォームを送信するときに、JavaEEWebコンテナにsevlet/beanメソッドを呼び出させて実際の認証を実行するにはどうすればよいですか?実際の認証を行うweb.xmlのコードにフックを追加する場所に気づきませんでした。

4

2 に答える 2

4

たとえば、「admin」などの web.xml でセキュリティ ロールを定義し、ログイン フォームに必要なすべてのフィールド (つまり、アクションとして j_security_check、フィールド j_username、j_password) を設定すると、実際の認証はどのように/どこで行われますか?

サーブレット実装では、servletcontainer. たとえばTomcatでは、AuthenticatorBaseクラスによって行われます(ソースコードはこちら)。

データベースに保存されているユーザー名/パスワード (ハッシュ) を使用するカスタム認証を使用する予定です。ユーザーがフォームを送信したときに、Java EE Web コンテナーが自分の sevlet/bean メソッドを呼び出して実際の認証を実行するようにするにはどうすればよいですか? 実際の認証を行う web.xml のコードにフックを追加する場所に気付きませんでした。

コンテナー管理認証を使い続けたいが、代わりにデータベースに対してログインをチェックしたい場合は、それに応じていわゆる「レルム」を構成する必要があります。どのサーブレットコンテナを使用しているかは不明ですが、たとえば Tomcat の場合、ドキュメントはTomcat 6.0 Realm HOW-TOから入手できます。

代わりに独自の独自の認証システムを呼び出したい場合は、コンテナー管理のセキュリティを削除して、さらに独自に開発する必要があります。これはお勧めできません

于 2010-10-27T02:08:19.397 に答える