IMAPS業務サーバで動作する業務アプリに以下の処理を記述することで、認証したユーザーの情報を取得することができます。取得可能な情報は以下のとおりです。
ユーザーIDはjavax.servlet.http.HttpServletRequestのgetUserPrincipalメソッドで取得できます。
実装例:
public void doPost(HttpServletRequest req, HttpServletResponse) throws ServletException, IOException {
Principal principal = req.getUserPrincipal();
String name = principal.getName(); // ユーザー IDを取得
・・・
}
氏名とロール名はjavax.servlet.ServletRequestのgetAttributeメソッドで取得できます。
値がない場合はnullを返します。
|
値 |
属性名 |
型 |
|---|---|---|
|
氏名 |
com.fujitsu.imaps.auth.userName |
String |
|
ロール名 |
com.fujitsu.imaps.auth.roleNames |
String[] |
ロール名についてはjavax.servlet.http.HttpServletRequestのisUserInRoleメソッドで確認することもできます。
実装例:
public void doPost(HttpServletRequest req, HttpServletResponse) throws ServletException, IOException {
if(req.isUserInRole(ロール名)) {
// ログインユーザーは引数に指定したロールを持っている
} else {
// ログインユーザーは引数に指定したロールを持っていない
}
・・・
}