登录

使用 login(DataObject) 方法和 LoginControl 认证用户。

关于此任务

使用 LoginAccount 数据对象或显式子类型来认证用户。使用可选 LoginControl 检索正在认证的实体的属性。
注: 如果用户不属于缺省领域,那么需要使用领域关键字在上下文中设置领域名。通过 WebSphere 管理控制台登录时,需要使用 username@realmName。

此示例显示如何使用具有 principalName 和密码的 PersonAccount 对象进行认证。

要使用具有 principalName 和密码的 PersonAccount 对象进行认证,请将此样本代码添加到应用程序代码,并使用要用于此请求的实际值替换变量
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>


使用条款 | 反馈