1

Web アプリで、アプリがデプロイされている tomcat に現在ログインしているユーザーのユーザー名とパスワード、またはユーザー ロールをプログラムで知るにはどうすればよいですか?

4

1 に答える 1

4

この情報は によって入手可能でHttpServletRequestあり、本質的にExternalContext.

次の方法を使用できます。

String username = externalContext.getRemoteUser();
UserPrincipal principal = externalContext.getUserPrincipal();
boolean admin = externalContext.isUserInRole("ADMIN");

セキュリティ上の理由から、パスワードを取得することはできません。

は ELHttpServletRequestと同じように使用できることに注意してください。#{request}したがって、次のことも可能である必要があります。

<p>Welcome, #{request.remoteUser}</p>

<h:panelGroup id="adminPanel" rendered="#{request.isUserInRole('ADMIN')}">
    ...
</h:panelGroup>
于 2012-05-28T12:14:53.577 に答える