IMAPS業務サーバで動作する業務アプリに以下の処理を記述することで、認証したユーザーの情報を取得することができます。取得可能な情報は以下のとおりです。
ユーザーID
氏名
ロール名
ユーザー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 {
// ログインユーザーは引数に指定したロールを持っていない
}
・・・
}