4

私はウェブアプリを開発しています。私は何人かの友人にそれを見させたいと思っていますが、URL に出くわした他の人には見せないようにしたいと思います. ランディング ページと、シンプルなパスワード ボックスを配置するつもりでした。正しいパスワードが入力されたら、それをセッションに記録し、ブラウザーを開いたままにする残りの時間は通常どおりサイトを公開します。

これを行う標準的な方法はありますか?これをサポートするために webapp に追加のコードを追加しますが、それを行う組み込みの方法があるかどうかはわかりません (私は Java サーブレットを使用しています)。

ありがとう

4

2 に答える 2

5

デプロイメント記述子を使用してコンテナー管理認証を使用できます。これには、URL に送信する入力フィールドとパスワード フィールドを備えた単純なログイン フォームを除いて、追加のコードは必要ありませんj_security_check。基本的な例を次に示します。

<form action="j_security_check" method="post">
    <input type="text" name="j_username">
    <input type="password" name="j_password">
    <input type="submit">
</form>

/privateという名前のフォルダにプライベート ページがあり、上記のログイン ページが にあると仮定すると/private/login.jsp、次のエントリを webapp の に追加しますweb.xml

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Private</web-resource-name>
        <url-pattern>/private/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>friends</role-name>
    </auth-constraint>
</security-constraint>

<login-config>
    <auth-method>FORM</auth-method>
    <realm-name>Private</realm-name>
    <form-login-config>
        <form-login-page>/private/login.jsp</form-login-page>
        <form-error-page>/private/error.jsp</form-error-page>
    </form-login-config>
</login-config>

次に、使用している servletcontainer で、いわゆるRealm forを構成する必要がありますPrivate。使用しているサーブレット コンテナが不明なため、Tomcat 8.0 を対象としたドキュメントを次に示します: Realm Configuration HOW-TO。XML ファイルやデータベース、さらにはカスタムの場所に対してユーザー名とパスワードの組み合わせを検証するように構成できます。


Filterまったく別の代替手段は、セッション スコープ内のログイン ユーザーの存在をチェックする を使用して、ログイン メカニズムを自作することです。これを達成する方法は、これこの回答を参照してください。

于 2010-06-28T16:42:23.390 に答える
0

htaccessを使用した単純な認証の使用を検討する必要があります

http://www.elated.com/articles/password-protecting-your-pages-with-htaccess/を参照してください

于 2010-06-28T16:33:23.083 に答える