Connexion

Vous pouvez authentifier un utilisateur à l'aide de la méthode login(DataObject) et de la commande LoginControl.

Pourquoi et quand exécuter cette tâche

Vous pouvez authentifier un utilisateur à l'aide de l'objet de données LoginAccount ou d'un sous-type explicite. Vous pouvez extraire les propriétés de l'entité authentifié à l'aide de la commande LoginControl facultative.
Remarque : Si l'utilisateur n'appartient pas au domaine par défaut, le nom du domaine doit alors être défini dans le contexte qui utilise la clé du domaine. Lors de la connexion via la console WebSphere Administrative, vous devez utiliser username@realmName.

Cet exemple montre comment authentifier à l'aide de l'objet PersonAccount avec un nom principal et un mot de passe.

Pour authentifier un objet PersonAccount avec un nom principal et un mot de passe, ajoutez ce code exemple à votre code d'application, puis remplacez les variables par les valeurs réelles à utiliser pour cette requête :
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();
}

Modèles de graphiques de données d'entrée et de sortie

Pour cet exemple particulier, le graphique de données d'entrée est le suivant :
<?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>
Le graphique de données de sortie qui en résulte est le suivant :
<?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>


Conditions d'utilisation | Commentaires