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 { // ログインユーザーは引数に指定したロールを持っていない } ・・・ }