0

Glassfish でコンテナ管理のセキュリティを使用して、個々の「プロファイル」ページを作成し、ログインした人だけがそれを変更できるように制限するにはどうすればよいですか? ユーザー "John" と "Amanda" がいて、どちらも "user" ロールを持っているとします。"John" だけが自分のプロファイル ページを変更でき、"Amanda" は変更できないことをどのように確認できますか?

<form method="POST" action="j_security_check">
    <table>
        <tr>
            <td>User name:</td>
            <td><input type="text" name="j_username" /></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input type="password" name="j_password" /></td>
        </tr>
        <tr>
            <td><input type="submit" value="Login" /></td>
        </tr>
    </table>
</form>
4

2 に答える 2

1

これは、SEAM Framework を使用して簡単に実行できます。セキュリティで保護されたインターフェイス @Admin を作成してから、チェッカー メソッド public @Secure @Admin checkAdmin(Identity identity) {} を作成するだけです。

その後、 @Admin をメソッドに追加するだけです。

他にできることは簡単です。「rendered」属性を使用して、ログインしているユーザーを確認するだけです。

于 2012-04-15T05:41:02.783 に答える
1

セッションからログインしているユーザーと、データベースから取得するように求められているプロファイルが同じかどうかを確認できませんか? 一致しない場合、ユーザーはそのページを編集できません。理想的には、この種のユーザー セッション ロジックをサーバー フィルター do に配置して、すべての要求で機能するようにします。

于 2012-04-14T11:40:22.337 に答える