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