Cosminexus 機能解説

[目次][用語][索引][前へ][次へ]

13.8.2 ユーザIDの取得(APIを使用する場合)

認証が完了したあと,認証したユーザIDは,Principalオブジェクト(java.security.Principal)としてSubjectに格納されています。ユーザIDを取得する場合の実装例を次に示します。

<%@ page import="javax.security.auth.Subject" %>
<%@ page import="java.security.Principal" %>
...
<%
  ...
  Subject subject = lc.getSubject();
  Principal principal = (Principal)subject.getPrincipals().iterator().next();
  String userid = principal.getName();
%>
...

SubjectからPrincipalが格納されているiteratorを取り出し,その1番目に格納されている値をPrincipalオブジェクトに型変換してから,PrincipalオブジェクトのgetNameメソッドでユーザIDを取得しています。