最近、Glassfishv3で実行されているWebアプリケーションのセキュリティの実装に取り組んでいます。次のように基本認証を設定することで、いくつかのリソースを保護することに成功しました。
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>vcards-admin</realm-name>
</login-config>
今、私は、ユーザーの実際のデータに影響を与えるために、ログインプロンプトで導入されたユーザー名を取得する方法を考えていました。そのデータを取得するためのセッション属性がある可能性があると思いましたが、それがどれであるかはわかりません。
セッション属性について間違っていますか?そのログイン情報にアクセスする他の方法はありますか?
前もって感謝します。
HttpServletRequest#getUserPrincipal()
またはその省略形 HttpServletRequest#getRemoteUser()
で利用できます。
String name = request.getUserPrincipal().getName();
// Or
String name = request.getRemoteUser();
同等にJSPELで:
${pageContext.request.userPrincipal.name}
<!-- or -->
${pageContext.request.remoteUser}