AEM formulieren ondersteunen de just-in-time levering van gebruikers die nog niet in Gebruikersbeheer bestaan. Met just-in-time levering, worden de gebruikers automatisch toegevoegd aan het Beheer van de Gebruiker nadat hun geloofsbrieven met succes voor authentiek worden verklaard. Daarnaast worden relevante rollen en groepen dynamisch toegewezen aan de nieuwe gebruiker.
Zo werkt traditionele verificatie:
Wanneer een gebruiker zich aanmeldt bij AEM formulieren, geeft Gebruikersbeheer de gebruikersgegevens opeenvolgend door aan alle beschikbare verificatieproviders. (De login geloofsbrieven omvatten een gebruikersbenaming/wachtwoordcombinatie, kaartje Kerberos, handtekening PKCS7, etc.)
De verificatieprovider valideert de referenties.
De authentificatieleverancier controleert dan of de gebruiker in het gegevensbestand van het Beheer van de Gebruiker bestaat. De volgende resultaten zijn mogelijk:
Bestaat: Als de gebruiker huidig en ontgrendeld is, keert het Beheer van de Gebruiker authentificatiesucces terug. Als de gebruiker echter niet actief is of is vergrendeld, retourneert het Gebruikersbeheer een verificatiefout.
Bestaat niet: gebruikersbeheer retourneert verificatiefout.
Ongeldig: gebruikersbeheer retourneert verificatiefout.
Het resultaat dat door de authentificatieleverancier is teruggekeerd wordt geëvalueerd. Als de verificatieprovider het succes van de verificatie heeft geretourneerd, mag de gebruiker zich aanmelden. Anders, controleert het Beheer van de Gebruiker met de volgende authentificatieleverancier (stappen 2-3).
Verificatiefout wordt geretourneerd als geen enkele verificatieprovider de gebruikersgegevens valideert.
Wanneer just-in-time levering wordt uitgevoerd, wordt een nieuwe gebruiker dynamisch gecreeerd in het Beheer van de Gebruiker als één van de authentificatieleveranciers de geloofsbrieven van de gebruiker bevestigt. (Na stap 3 in de traditionele authentificatieprocedure, hierboven.)
AEM formulieren bevatten de volgende API's voor instelbare provisioning:
package com.adobe.idp.um.spi.authentication ;
publ ic interface IdentityCreator {
/**
* Tries to create a user with the in formation provided in the <code>UserProvisioningBO</code> object.
* If the user is successfully created, a valid AuthResponse is returned along with the information using which the user was created.
* It is the responsibility of the IdentityCreator to set the User obje ct in the cre dential map with th e ke y <code>UMA u thenticationUtil.authenticatedUserKey</code>
* The credentials are available in the <code>UserProvisioningBO</code> object in the 'credentials' property.
* If the IdentityCreator is unable to create a user due to any reason, it returns <code>null</code>
* @param userBO An object of <code>com.adobe. i dp.um . spi.authenti c ationUserProvisioningBO</code>
* @return */public AuthResponse create(UserProvisioningBO userBO);
/**
* Returns the name of the IdentityCreator which will be registered in preferences.
* This name is used to associate the IdentityProvider with the Auth Provider Configuration in the domain.
* @return The name of the Identity Creator which is recognized in Configuration.
*/
public String getName();
}
package com.adobe.idp.um.spi.authentication;
import com.adobe.idp.um.api.infomodel.User;
public interface AssignmentProvider {
/**
* Tries to assign roles or permissions or group memberships to users created via Just-in-time provisioning.
* @param user The User created via the Just-in-time provisioning process.
* @return a Boolean flag indicating whether the assignment was successful or not.
*/
public Boolean assign(User user);
/**
* Returns the name of the AssignmentProvider through which it is registered under preferences.
* This name is used to associate the AssignmentProvider with the Auth Provider Configuration in the domain.
* @return The name of the AssignmentProvider which is recognized in Configuration.
*/public String getName();
}
IdentityCreator
voor een hybride domein voor dat er een dummywachtwoord is opgegeven voor de lokale gebruiker. Laat dit wachtwoordveld niet leeg.DomainSpecificAuthentication
om gebruikersgeloofsbrieven tegen een specifiek domein te bevestigen.Schrijf een DSC die APIs in "APIs voor just-in-time levering"sectie uitvoert.
Implementeer de DSC op de formulierserver.
Creeer een just-in-time-Toegelaten domein:
Sla het nieuwe domein op.
Stel dat een gebruiker zich probeert aan te melden bij AEM formulieren en dat een verificatieprovider zijn gebruikersgegevens accepteert. Als de gebruiker nog niet bestaat in de gebruikersbeheerdatabase, mislukt de identiteitscontrole voor de gebruiker. AEM formulieren voeren nu de volgende handelingen uit:
UserProvisioningBO
-object met de verificatiegegevens en plaats dit in een referentie-overzicht.UserProvisioningBO
is teruggekeerd, haal en haal geregistreerd IdentityCreator
en AssignmentProvider
voor het domein aan.IdentityCreator
aanroepen. Als het succesvol AuthResponse
terugkeert, haal UserInfo
van de referentie kaart. Geef deze door aan AssignmentProvider
voor groep/rol-toewijzing en elke andere nabewerking nadat de gebruiker is gemaakt.De just-in-time provisioning-functie wordt geleverd met een standaardimplementatie van IdentityCreator
die u kunt gebruiken om dynamisch gebruikers te maken. De gebruikers worden gecreeerd met de informatie verbonden aan de folders in het domein.