ログイン

login(DataObject) メソッドと LoginControl を使用すると、ユーザーを認証できます。

このタスクについて

ユーザーを認証するには、LoginAccount DataObject を使用するか、明示のサブタイプを使用します。オプションの LoginControl を使用すると、認証中のエンティティーのプロパティーを取得できます。
注: ユーザーがデフォルトのレルムに属していない場合は、レルム・キーを使用してコンテキストにレルム名を設定する必要があります。WebSphere 管理コンソールからログインする場合は、username@realmName を使用する必要があります。

この例は、principalName とパスワードによって PersonAccount オブジェクトの使用を認証する方法を示しています。

principalName とパスワードで PersonAccount オブジェクトの使用を認証するには、ご使用のアプリケーション・コードにこのサンプル・コードを追加し、variables をこの要求で使用する実際の値で置き換えます。
try {
    DataObject root = SDOHelper.createRootDataObject(); 
    DataObject paccount = SDOHelper.createEntityDataObject(root, null, DO_PERSON_ACCOUNT);
    paccount.set(PROP_PRINCIPAL_NAME, "bob"); 
    paccount.set(Service.PROP_PASSWORD, 
                 com.ibm.websphere.wim.util.PasswordUtil.getByteArrayPassword("mypassword"));
    DataObject loginCtrl = SDOHelper.createControlDataObject(root, null, DO_LOGIN_CONTROL);
    loginCtrl.getList(PROP_SEARCH_BASES).add("cn=users,dc=yourco,dc=com"); 
    loginCtrl.getList(PROP_PROPERTIES).add("uid"); 
    loginCtrl.getList(PROP_PROPERTIES).add("cn"); 
    root = service.login(root);
} catch (WIMException e) {
    e.printStackTrace();
}

入出力データ・グラフのサンプル

この例では、入力データ・グラフは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:sdo="commonj.sdo"
               xmlns:wim="http://www.ibm.com/websphere/wim">
<wim:Root>
<wim:entities xsi:type="wim:PersonAccount">
   <wim:principalName>bob</wim:principalName>
   <wim:password>KioqKg==</wim:password>
</wim:entities>
<wim:controls xsi:type="wim:LoginControl">
  <wim:searchBases>cn=users,dc=yourco,dc=com</wim:searchBases>
    <wim:properties>cn</wim:properties>
    <wim:properties>uid</wim:properties>
</wim:controls>
</wim:Root>
</sdo:datagraph>
作成される出力データのグラフは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<sdo:datagraph xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
               xmlns:sdo="commonj.sdo"
               xmlns:wim="http://www.ibm.com/websphere/wim">
  <changeSummary/>
  <Root>
<entities xsi:type="PersonAccount">
        <identifier uniqueId="f0cf975b-eca8-4331-8a70-6b90556f4f65"
                    uniqueName="accountName=bob,cn=users,dc=yourco,dc=com">
          <cn>bob W</cn>
          <uid>bob</uid>
    </entities>
 </Root>
</sdo:datagraph>


利用条件 | フィードバック