ページの先頭行へ戻る
Interstage Application Server シングル・サインオン運用ガイド
Interstage

B.6 利用者のロック状態を表示する

  本記述例では、次の環境を想定しています。ご使用の環境にあわせて変更してください。

ユーザプログラムの記述

          【前処理】
String [] retAttributes = new String [1];
retAttributes[0] = "ssoUserStatus";
SearchControls  sc = new SearchControls();
sc.setSearchScope(SearchControls.OBJECT_SCOPE);
sc.setReturningAttributes(retAttributes);
sc.setCountLimit(1);
sc.setTimeLimit(5 * 1000); // 5 seconds
String filter = "(cn=" + user + ")";
String dn = "cn=" + user + ",ou=User,ou=interstage,o=fujitsu,dc=com";
NamingEnumeration ne = ctx.search(dn, filter, sc);
while(ne.hasMore()) {
        SearchResult sr = (SearchResult)ne.next();
        Attributes attrs = sr.getAttributes();
        if(attrs != null) {
               Attribute a = attrs.get("ssoUserStatus");
               if(a == null) {
                       System.out.println("ロックされていません");
                       return;
               } else {
                       String value = (String)a.get();
                       if(value.compareToIgnoreCase("locked") == 0) {
                               System.out.println("ロックされています");
                               return;
                       } else {
                               System.out.println("ロックされていません");
                               return;
                       }
               }
        }
}
【後処理】