Administración de usuarios managing-users
Las muestras y los ejemplos de este documento solo son para AEM Forms en un entorno JEE.
Acerca de la administración de usuarios
Puede utilizar la API de administración de usuarios para crear aplicaciones cliente que puedan administrar roles, permisos y principales (que pueden ser usuarios o grupos) y autenticar usuarios. La API de administración de usuarios consta de las siguientes API de AEM Forms:
- API de servicio de Directory Manager
- API del servicio Administrador de autenticación
- API del servicio Administrador de autorización
Administración de usuarios permite asignar, quitar y determinar funciones y permisos. También permite asignar, quitar y consultar dominios, usuarios y grupos. Por último, puede utilizar Administración de usuarios para autenticar a los usuarios.
En Agregar usuarios comprenderá cómo agregar usuarios mediante programación. Esta sección utiliza la API del servicio de Directory Manager.
En Eliminación de usuarios, comprenderá cómo eliminar usuarios mediante programación. Esta sección utiliza la API del servicio de Directory Manager.
En Administración de usuarios y grupos, comprenderá la diferencia entre un usuario local y un usuario de directorio, y verá ejemplos de cómo usar las API de Java y de servicios web para administrar usuarios y grupos mediante programación. Esta sección utiliza la API del servicio de Directory Manager.
En Administración de funciones y permisos, obtendrá información sobre las funciones y los permisos del sistema, y sobre lo que puede hacer mediante programación para aumentarlos. También verá ejemplos de cómo usar las API de Java y de servicios web para administrar funciones y permisos mediante programación. Esta sección utiliza tanto la API del servicio de Directory Manager como la API del servicio de Authorization Manager.
En Autenticar usuarios verá ejemplos de cómo usar las API de Java y del servicio web para autenticar a los usuarios mediante programación. Esta sección utiliza la API del servicio Administrador de autorización.
Explicación del proceso de autenticación
Administración de usuarios proporciona funcionalidad de autenticación integrada y la capacidad de conectarse con su propio proveedor de autenticación. Cuando Administración de usuarios recibe una solicitud de autenticación (por ejemplo, un usuario intenta iniciar sesión), pasa la información del usuario al proveedor de autenticación para que se autentique. Administración de usuarios recibe los resultados del proveedor de autenticación después de autenticar al usuario.
En el diagrama siguiente se muestra la interacción entre un usuario final que intenta iniciar sesión, Administración de usuarios y el proveedor de autenticación.
En la tabla siguiente se describe cada paso del proceso de autenticación.
[com.adobe.idp.um.webservices.WSSecurityHandler] errorCode:12803 errorCodeHEX:0x3203 message:WSSecurityHandler: UM authenticate returns exception : An error was discovered processing the <wsse:Security> header. (WSSecurityEngine: Invalid timestamp The security semantics of message have expired).
Explicación de la administración de directorios
La Administración de usuarios está empaquetada con un proveedor de servicios de directorio (DirectoryManagerService) que admite conexiones a directorios LDAP. Si su organización utiliza un repositorio que no sea LDAP para almacenar registros de usuario, puede crear su propio proveedor de servicios de directorio que trabaje con el repositorio.
Los proveedores de servicios de directorio recuperan registros de un almacén de usuarios a petición de Administración de usuarios. Administración de usuarios almacena en caché regularmente los registros de usuarios y grupos en la base de datos para mejorar el rendimiento.
El proveedor de servicios de directorio se puede utilizar para sincronizar la base de datos de Administración de usuarios con el almacén de usuarios. Este paso garantiza que toda la información del directorio de usuario y todos los registros de usuario y grupo estén actualizados.
Además, DirectoryManagerService permite crear y administrar dominios. Los dominios definen diferentes bases de usuario. El límite de un dominio suele definirse según la forma en que esté estructurada su organización o la configuración de su almacén de usuarios. Los dominios de administración de usuarios proporcionan opciones de configuración que utilizan los proveedores de autenticación y los proveedores de servicios de directorio.
En el XML de configuración que exporta Administración de usuarios, el nodo raíz que tiene el valor de atributo de Domains
contiene un elemento XML para cada dominio definido para Administración de usuarios. Cada uno de estos elementos contiene otros elementos que definen aspectos del dominio asociado con proveedores de servicios específicos.
Explicación de los valores de objectSID
Al utilizar Active Directory, es importante comprender que un valor objectSID
no es un atributo único en varios dominios. Este valor almacena el identificador de seguridad de un objeto. En un entorno de varios dominios (por ejemplo, un árbol de dominios), el valor objectSID
puede ser diferente.
Un valor objectSID
cambiaría si un objeto se mueve de un dominio de Active Directory a otro. Algunos objetos tienen el mismo valor objectSID
en cualquier parte del dominio. Por ejemplo, los grupos como BUILTIN\Administradores, BUILTIN\Usuarios avanzados, etc., tendrían el mismo valor objectSID
independientemente de los dominios. Estos objectSID
valores son bien conocidos.
Adición de usuarios adding-users
Puede utilizar la API del servicio Directory Manager (Java y servicio web) para agregar usuarios a AEM Forms mediante programación. Después de agregar un usuario, puede utilizarlo cuando realice una operación de servicio que requiera un usuario. Por ejemplo, puede asignar una tarea al nuevo usuario.
Resumen de los pasos summary-of-steps
Para agregar un usuario, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente DirectoryManagerService.
- Definir información de usuario.
- Añada el usuario a AEM Forms.
- Compruebe que se ha agregado el usuario.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, incluya los archivos proxy.
Crear un cliente de DirectoryManagerService
Para poder realizar mediante programación una operación de servicio de Directory Manager, cree un cliente de API de servicio de Directory Manager.
Definir información de usuario
Cuando agregue un nuevo usuario mediante la API del servicio de Directory Manager, defina la información para ese usuario. Normalmente, cuando se agrega un nuevo usuario, se definen los siguientes valores:
- Nombre de dominio: Dominio al que pertenece el usuario (por ejemplo,
DefaultDom
). - Valor del identificador de usuario: Valor del identificador del usuario (por ejemplo,
wblue
). - Tipo de entidad de seguridad: El tipo de usuario (por ejemplo, puede especificar
USER)
. - Nombre dado: Un nombre dado para el usuario (por ejemplo,
Wendy
). - Nombre de familia: El nombre de familia del usuario (por ejemplo,
Blue)
. - Configuración regional: Información de configuración regional del usuario.
Agregar el usuario a AEM Forms
Después de definir la información del usuario, puede agregarlo a AEM Forms. Para agregar un usuario, invoque el método createLocalUser
del objeto DirectoryManagerServiceClient
.
Compruebe que se agregó el usuario
Puede comprobar que se agregó el usuario para asegurarse de que no se produjeron problemas. Busque el nuevo usuario utilizando el valor identificador de usuario.
Consulte también
Añadir usuarios mediante la API de Java
Agregar usuarios mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Añadir usuarios mediante la API de Java add-users-using-the-java-api
Agregar usuarios mediante la API del servicio de Directory Manager (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-usermanager-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente de DirectoryManagerServices.
Cree un objeto
DirectoryManagerServiceClient
utilizando su constructor y pasando un objetoServiceClientFactory
que contenga propiedades de conexión. -
Definir información de usuario.
- Crear un objeto
UserImpl
mediante su constructor. - Establezca el nombre de dominio invocando el método
setDomainName
del objetoUserImpl
. Pase un valor de cadena que especifique el nombre de dominio. - Establezca el tipo principal invocando el método
setPrincipalType
del objetoUserImpl
. Pase un valor de cadena que especifique el tipo de usuario. Por ejemplo, puede especificarUSER
. - Establezca el valor del identificador de usuario invocando el método
setUserid
del objetoUserImpl
. Pase un valor de cadena que especifique el valor del identificador de usuario. Por ejemplo, puede especificarwblue
. - Establezca el nombre canónico invocando el método
setCanonicalName
del objetoUserImpl
. Pase un valor de cadena que especifique el nombre canónico del usuario. Por ejemplo, puede especificarwblue
. - Establezca el nombre dado invocando el método
setGivenName
del objetoUserImpl
. Pase un valor de cadena que especifique el nombre de pila del usuario. Por ejemplo, puede especificarWendy
. - Establezca el nombre de familia invocando el método
setFamilyName
del objetoUserImpl
. Pase un valor de cadena que especifique el nombre familiar del usuario. Por ejemplo, puede especificarBlue
.
note note NOTE Invoque un método que pertenezca al objeto UserImpl
para establecer otros valores. Por ejemplo, puede establecer el valor de configuración regional invocando el métodosetLocale
del objetoUserImpl
. - Crear un objeto
-
Añada el usuario a AEM Forms.
Invoque el método
createLocalUser
del objetoDirectoryManagerServiceClient
y pase los siguientes valores:- El objeto
UserImpl
que representa al nuevo usuario - Valor de cadena que representa la contraseña del usuario
El método
createLocalUser
devuelve un valor de cadena que especifica el valor del identificador de usuario local. - El objeto
-
Compruebe que se ha agregado el usuario.
- Crear un objeto
PrincipalSearchFilter
mediante su constructor. - Establezca el valor del identificador de usuario invocando el método
setUserId
del objetoPrincipalSearchFilter
. Pase un valor de cadena que represente el valor del identificador de usuario. - Invoque el método
findPrincipals
del objetoDirectoryManagerServiceClient
y pase el objetoPrincipalSearchFilter
. Este método devuelve una instanciajava.util.List
, donde cada elemento es un objetoUser
. Itere por la instanciajava.util.List
para localizar al usuario.
- Crear un objeto
Consulte también
SOAP Inicio rápido (modo de): Añadir usuarios mediante la API de Java
Agregar usuarios mediante la API de servicio web add-users-using-the-web-service-api
Agregar usuarios mediante la API del servicio Directory Manager Service (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición de WSDL para la referencia del servicio:
http://localhost:8080/soap/services/DirectoryManagerService?WSDL&lc_version=9.0.1
.note note NOTE Reemplace localhost
por la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente DirectoryManagerService.
-
Cree un objeto
DirectoryManagerServiceClient
utilizando su constructor predeterminado. -
Cree un objeto
DirectoryManagerServiceClient.Endpoint.Address
mediante el constructorSystem.ServiceModel.EndpointAddress
. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). No necesita usar el atributolc_version
. Este atributo se utiliza al crear una referencia de servicio. Asegúrese de especificar?blob=mtom
. -
Cree un objeto
System.ServiceModel.BasicHttpBinding
obteniendo el valor del campoDirectoryManagerServiceClient.Endpoint.Binding
. Convertir el valor devuelto enBasicHttpBinding
. -
Establezca el campo
MessageEncoding
del objetoSystem.ServiceModel.BasicHttpBinding
enWSMessageEncoding.Mtom
. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- AEM Asigne el nombre de usuario de los formularios de la al campo
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
. - Asigne el valor de contraseña correspondiente al campo
DirectoryManagerServiceClient.ClientCredentials.UserName.Password
. - Asigne el valor constante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- AEM Asigne el nombre de usuario de los formularios de la al campo
-
-
Definir información de usuario.
- Crear un objeto
UserImpl
mediante su constructor. - Establezca el nombre de dominio asignando un valor de cadena al campo
domainName
del objetoUserImpl
. - Establezca el tipo principal asignando un valor de cadena al campo
principalType
del objetoUserImpl
. Por ejemplo, puede especificarUSER
. - Establezca el valor del identificador de usuario asignando un valor de cadena al campo
userid
del objetoUserImpl
. - Establezca el valor del nombre canónico asignando un valor de cadena al campo
canonicalName
del objetoUserImpl
. - Establezca el valor del nombre dado asignando un valor de cadena al campo
givenName
del objetoUserImpl
. - Establezca el valor del nombre de familia asignando un valor de cadena al campo
familyName
del objetoUserImpl
.
- Crear un objeto
-
Añada el usuario a AEM Forms.
Invoque el método
createLocalUser
del objetoDirectoryManagerServiceClient
y pase los siguientes valores:- El objeto
UserImpl
que representa al nuevo usuario - Valor de cadena que representa la contraseña del usuario
El método
createLocalUser
devuelve un valor de cadena que especifica el valor del identificador de usuario local. - El objeto
-
Compruebe que se ha agregado el usuario.
- Crear un objeto
PrincipalSearchFilter
mediante su constructor. - Establezca el valor del identificador de usuario del usuario asignando un valor de cadena que represente el valor del identificador de usuario al campo
userId
del objetoPrincipalSearchFilter
. - Invoque el método
findPrincipals
del objetoDirectoryManagerServiceClient
y pase el objetoPrincipalSearchFilter
. Este método devuelve un objeto de colecciónMyArrayOfUser
, donde cada elemento es un objetoUser
. Recorra en iteración la colecciónMyArrayOfUser
para localizar al usuario.
- Crear un objeto
Consulte también
Eliminación de usuarios deleting-users
Puede utilizar la API del servicio Directory Manager (Java y servicio web) para eliminar usuarios de AEM Forms mediante programación. Una vez eliminado un usuario, ya no se puede utilizarlo para realizar una operación de servicio que requiera un usuario. Por ejemplo, no puede asignar una tarea a un usuario eliminado.
Resumen de los pasos summary_of_steps-1
Para eliminar un usuario, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente DirectoryManagerService.
- Especifique el usuario que desea eliminar.
- Elimine el usuario de AEM Forms.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente con Java, incluya los archivos JAR necesarios. Si utiliza servicios web, incluya los archivos proxy.
Crear un cliente de DirectoryManagerService
Para poder realizar mediante programación una operación de API del servicio Directory Manager, cree un cliente de servicio Directory Manager.
Especifique el usuario que desea eliminar
Puede especificar un usuario para eliminarlo utilizando el valor del identificador del usuario.
Eliminar el usuario de AEM Forms
Para eliminar un usuario, invoque el método deleteLocalUser
del objeto DirectoryManagerServiceClient
.
Consulte también
Eliminar usuarios mediante la API de Java
Eliminar usuarios mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Eliminar usuarios mediante la API de Java delete-users-using-the-java-api
Eliminar usuarios mediante la API del servicio de Directory Manager (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-usermanager-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente DirectoryManagerService.
Cree un objeto
DirectoryManagerServiceClient
utilizando su constructor y pasando un objetoServiceClientFactory
que contenga propiedades de conexión. -
Especifique el usuario que desea eliminar.
- Crear un objeto
PrincipalSearchFilter
mediante su constructor. - Establezca el valor del identificador de usuario invocando el método
setUserId
del objetoPrincipalSearchFilter
. Pase un valor de cadena que represente el valor del identificador de usuario. - Invoque el método
findPrincipals
del objetoDirectoryManagerServiceClient
y pase el objetoPrincipalSearchFilter
. Este método devuelve una instanciajava.util.List
, donde cada elemento es un objetoUser
. Itere a través de la instanciajava.util.List
para localizar al usuario que desea eliminar.
- Crear un objeto
-
Elimine el usuario de AEM Forms.
Invoque el método
deleteLocalUser
del objetoDirectoryManagerServiceClient
y pase el valor del campooid
del objetoUser
. Invoque el métodogetOid
del objetoUser
. Utilice el objetoUser
recuperado de la instanciajava.util.List
.
Consulte también
Inicio rápido (modo EJB): Eliminación de usuarios mediante la API de Java
SOAP Inicio rápido (modo de): Eliminación de usuarios mediante la API de Java
Eliminar usuarios mediante la API de servicio web delete-users-using-the-web-service-api
Eliminar usuarios mediante la API del servicio Directory Manager Service (servicio Web):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-usermanager-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente DirectoryManagerService.
-
Cree un objeto
DirectoryManagerServiceClient
utilizando su constructor predeterminado. -
Cree un objeto
DirectoryManagerServiceClient.Endpoint.Address
mediante el constructorSystem.ServiceModel.EndpointAddress
. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/DirectoryManagerService?blob=mtom
). No necesita usar el atributolc_version
. Este atributo se utiliza al crear una referencia de servicio. Asegúrese de especificarblob=mtom.
-
Cree un objeto
System.ServiceModel.BasicHttpBinding
obteniendo el valor del campoDirectoryManagerServiceClient.Endpoint.Binding
. Convertir el valor devuelto enBasicHttpBinding
. -
Establezca el campo
MessageEncoding
del objetoSystem.ServiceModel.BasicHttpBinding
enWSMessageEncoding.Mtom
. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- AEM Asigne el nombre de usuario de los formularios de la al campo
DirectoryManagerServiceClient.ClientCredentials.UserName.UserName
. - Asigne el valor de contraseña correspondiente al campo
DirectoryManagerServiceClient.ClientCredentials.UserName.Password
. - Asigne el valor constante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- AEM Asigne el nombre de usuario de los formularios de la al campo
-
-
Especifique el usuario que desea eliminar.
- Crear un objeto
PrincipalSearchFilter
mediante su constructor. - Establezca el valor del identificador de usuario asignando un valor de cadena al campo
userId
del objetoPrincipalSearchFilter
. - Invoque el método
findPrincipals
del objetoDirectoryManagerServiceClient
y pase el objetoPrincipalSearchFilter
. Este método devuelve un objeto de colecciónMyArrayOfUser
, donde cada elemento es un objetoUser
. Recorra en iteración la colecciónMyArrayOfUser
para localizar al usuario. El objetoUser
recuperado del objeto de colecciónMyArrayOfUser
se usa para eliminar al usuario.
- Crear un objeto
-
Elimine el usuario de AEM Forms.
Elimine el usuario pasando el valor de campo
oid
del objetoUser
al métododeleteLocalUser
del objetoDirectoryManagerServiceClient
.
Consulte también
Creación de grupos creating-groups
Puede utilizar la API del servicio Directory Manager (Java y servicio web) para crear grupos de AEM Forms mediante programación. Después de crear un grupo, puede utilizarlo para realizar una operación de servicio que requiera un grupo. Por ejemplo, puede asignar un usuario al nuevo grupo. (Consulte Administración de usuarios y grupos.)
Resumen de los pasos summary_of_steps-2
Para crear un grupo, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente DirectoryManagerService.
- Determine que el grupo no existe.
- Cree el grupo.
- Realice una acción con el grupo.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios.
Los siguientes archivos JAR deben agregarse a la ruta de clase del proyecto:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-utilities.jar (obligatorio si AEM Forms está implementado en JBoss)
- jbossall-client.jar (requerido si AEM Forms está implementado en JBoss)
Para obtener información sobre la ubicación de estos archivos JAR, consulte Inclusión de archivos de biblioteca Java de AEM Forms.
Crear un cliente de DirectoryManagerService
Para poder realizar mediante programación una operación de servicio de Directory Manager, cree un cliente de API de servicio de Directory Manager.
Determine si el grupo existe
Cuando cree un grupo, asegúrese de que el grupo no existe en el mismo dominio. Es decir, dos grupos no pueden tener el mismo nombre dentro del mismo dominio. Para realizar esta tarea, realice una búsqueda y filtre los resultados de búsqueda en función de dos valores. Establezca el tipo principal en com.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
para asegurarse de que solo se devuelven grupos. Además, asegúrese de especificar el nombre de dominio.
Crear el grupo
Después de determinar que el grupo no existe en el dominio, cree el grupo y especifique los atributos siguientes:
- CommonName: el nombre del grupo.
- Dominio: Dominio en el que se agrega el grupo.
- Descripción: Una descripción del grupo.
Realizar una acción con el grupo
Después de crear un grupo, puede realizar una acción con el grupo. Por ejemplo, puede agregar un usuario al grupo. Para añadir un usuario a un grupo, recupere el valor del identificador único del usuario y del grupo. Pase estos valores al método addPrincipalToLocalGroup
.
Consulte también
Creación de grupos mediante la API de Java
Incluir archivos de biblioteca Java de AEM Forms
Creación de grupos mediante la API de Java create-groups-using-the-java-api
Cree un grupo mediante la API de servicio de Directory Manager (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-usermanager-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente DirectoryManagerService.
Cree un objeto
DirectoryManagerServiceClient
utilizando su constructor y pasando un objetoServiceClientFactory
que contenga propiedades de conexión. -
Determine si el grupo existe.
- Crear un objeto
PrincipalSearchFilter
mediante su constructor. - Establezca el tipo principal invocando el objeto
setPrincipalType
del objetoPrincipalSearchFilter
. Pase el valorcom.adobe.idp.um.api.infomodel.Principal.PRINCIPALTYPE_GROUP
. - Establezca el dominio invocando el objeto
setSpecificDomainName
del objetoPrincipalSearchFilter
. Pase un valor de cadena que especifique el nombre de dominio. - Para buscar un grupo, invoque el método
findPrincipals
del objetoDirectoryManagerServiceClient
(un principal puede ser un grupo). Pase el objetoPrincipalSearchFilter
que especifica el tipo principal y el nombre de dominio. Este método devuelve una instanciajava.util.List
en la que cada elemento es una instanciaGroup
. Cada instancia de grupo se ajusta al filtro especificado mediante el objetoPrincipalSearchFilter
. - Itere a través de la instancia
java.util.List
. Para cada elemento, recupere el nombre del grupo. Asegúrese de que el nombre del grupo no coincide con el nuevo nombre de grupo.
- Crear un objeto
-
Cree el grupo.
- Si el grupo no existe, invoque el método
setCommonName
del objetoGroup
y pase un valor de cadena que especifique el nombre del grupo. - Invoque el método
setDescription
del objetoGroup
y pase un valor de cadena que especifique la descripción del grupo. - Invoque el método
setDomainName
del objetoGroup
y pase un valor de cadena que especifique el nombre de dominio. - Invoque el método
createLocalGroup
del objetoDirectoryManagerServiceClient
y pase la instanciaGroup
.
El método
createLocalUser
devuelve un valor de cadena que especifica el valor del identificador de usuario local. - Si el grupo no existe, invoque el método
-
Realice una acción con el grupo.
- Crear un objeto
PrincipalSearchFilter
mediante su constructor. - Establezca el valor del identificador de usuario invocando el método
setUserId
del objetoPrincipalSearchFilter
. Pase un valor de cadena que represente el valor del identificador de usuario. - Invoque el método
findPrincipals
del objetoDirectoryManagerServiceClient
y pase el objetoPrincipalSearchFilter
. Este método devuelve una instanciajava.util.List
, donde cada elemento es un objetoUser
. Itere por la instanciajava.util.List
para localizar al usuario. - Agregue un usuario al grupo invocando el método
addPrincipalToLocalGroup
del objetoDirectoryManagerServiceClient
. Pase el valor devuelto del métodogetOid
del objetoUser
. Pase el valor devuelto del métodogetOid
de los objetosGroup
(utilice la instanciaGroup
que representa el nuevo grupo).
- Crear un objeto
Consulte también
Administración de usuarios y grupos managing-users-and-groups
En este tema se describe cómo puede utilizar (Java) para asignar, quitar y consultar dominios, usuarios y grupos mediante programación.
"objectsid"
, que es un valor binario). El atributo "GUID"
de Novell eDirectory, por ejemplo, no es un tipo de datos de cadena simple y, por lo tanto, no funcionará.- Para Active Directory, use
"objectsid"
. - Para SunOne, use
"nsuniqueid"
.
Resumen de los pasos summary_of_steps-3
Para administrar usuarios y grupos, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente DirectoryManagerService.
- Invoque las operaciones de usuario o grupo adecuadas.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Crear un cliente de DirectoryManagerService
Para poder realizar mediante programación una operación de servicio de Directory Manager, debe crear un cliente de servicio de Directory Manager. Con la API de Java, esto se logra creando un objeto DirectoryManagerServiceClient
. Con la API del servicio web, esto se logra creando un objeto DirectoryManagerServiceService
.
Invocar las operaciones del usuario o grupo apropiado
Una vez creado el cliente de servicios, puede invocar las operaciones de administración de usuarios o grupos. El cliente de servicio permite asignar, quitar y consultar dominios, usuarios y grupos. Tenga en cuenta que es posible agregar un principal de directorio o un principal local a un grupo local, pero no es posible agregar un principal local a un grupo de directorios.
Consulte también
Administración de usuarios y grupos mediante la API de Java
Administración de usuarios y grupos mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Administración de usuarios y grupos mediante la API de Java managing-users-and-groups-using-the-java-api
Para administrar mediante programación usuarios, grupos y dominios mediante (Java), realice las siguientes tareas:
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-usermanager-client.jar, en la ruta de clase del proyecto Java. Para obtener información sobre la ubicación de estos archivos, consulte Inclusión de archivos de biblioteca Java de AEM Forms.
-
Cree un cliente DirectoryManagerService.
Cree un objeto
DirectoryManagerServiceClient
utilizando su constructor y pasando un objetoServiceClientFactory
que contenga propiedades de conexión. Para obtener más información, vea Configurar propiedades de conexión. -
Invoque las operaciones de usuario o grupo adecuadas.
Para buscar un usuario o grupo, invoque uno de los métodos del objeto
DirectoryManagerServiceClient
para buscar principales (ya que una entidad de seguridad puede ser un usuario o un grupo). En el ejemplo siguiente, se llama al métodofindPrincipals
mediante un filtro de búsqueda (un objetoPrincipalSearchFilter
).Dado que el valor devuelto en este caso es un(a)
java.util.List
que contienePrincipal
objetos, iterar por el resultado y convertir los objetosPrincipal
en objetosUser
oGroup
.Con el objeto
User
oGroup
resultante (que heredan de la interfazPrincipal
), recupere la información que necesite en los flujos de trabajo. Por ejemplo, los valores de nombre de dominio y nombre canónico, en combinación, identifican de forma exclusiva un principal. Se recuperan invocando los métodosgetDomainName
ygetCanonicalName
del objetoPrincipal
, respectivamente.Para eliminar un usuario local, invoque el método
deleteLocalUser
del objetoDirectoryManagerServiceClient
y pase el identificador del usuario.Para eliminar un grupo local, invoque el método
deleteLocalGroup
del objetoDirectoryManagerServiceClient
y pase el identificador del grupo.
Consulte también
Administración de usuarios y grupos mediante la API de servicio web managing-users-and-groups-using-the-web-service-api
Para administrar mediante programación usuarios, grupos y dominios mediante la API del servicio Directory Manager Service (servicio Web), realice las siguientes tareas:
-
Incluir archivos de proyecto.
- Crear un ensamblado de cliente de Microsoft .NET que consuma el WSDL de Directory Manager. (Consulte Invocación de AEM Forms mediante codificación Base64).
- Hacer referencia al ensamblado de cliente de Microsoft .NET. (Vea Crear un ensamblado de cliente .NET que utiliza codificación Base64.)
-
Cree un cliente DirectoryManagerService.
Cree un objeto
DirectoryManagerServiceService
utilizando el constructor de la clase de proxy. -
Invoque las operaciones de usuario o grupo adecuadas.
Para buscar un usuario o grupo, invoque uno de los métodos del objeto
DirectoryManagerServiceService
para buscar principales (ya que una entidad de seguridad puede ser un usuario o un grupo). En el ejemplo siguiente, se llama al métodofindPrincipalsWithFilter
mediante un filtro de búsqueda (un objetoPrincipalSearchFilter
). Cuando se usa un objetoPrincipalSearchFilter
, las entidades de seguridad locales sólo se devuelven si la propiedadisLocal
está establecida entrue
. Este comportamiento es diferente al que se produciría con la API de Java.note note NOTE Si no se especifica el número máximo de resultados en el filtro de búsqueda (a través del campo PrincipalSearchFilter.resultsMax
), se devuelve un máximo de 1000 resultados. Este comportamiento es diferente al que se produce con la API de Java, en la que 10 resultados es el máximo predeterminado. Además, los métodos de búsqueda comofindGroupMembers
no arrojarán ningún resultado a menos que se especifique el número máximo de resultados en el filtro de búsqueda (por ejemplo, a través del campoGroupMembershipSearchFilter.resultsMax
). Esto se aplica a todos los filtros de búsqueda que heredan de la claseGenericSearchFilter
. Para obtener más información, consulte Referencia de la API de AEM Forms.Dado que el valor devuelto en este caso es un(a)
object[]
que contienePrincipal
objetos, iterar por el resultado y convertir los objetosPrincipal
en objetosUser
oGroup
.Con el objeto
User
oGroup
resultante (que heredan de la interfazPrincipal
), recupere la información que necesite en los flujos de trabajo. Por ejemplo, los valores de nombre de dominio y nombre canónico, en combinación, identifican de forma exclusiva un principal. Se recuperan invocando los camposdomainName
ycanonicalName
del objetoPrincipal
, respectivamente.Para eliminar un usuario local, invoque el método
deleteLocalUser
del objetoDirectoryManagerServiceService
y pase el identificador del usuario.Para eliminar un grupo local, invoque el método
deleteLocalGroup
del objetoDirectoryManagerServiceService
y pase el identificador del grupo.
Consulte también
Administración de funciones y permisos managing-roles-and-permissions
En este tema se describe cómo puede utilizar la API del servicio Administrador de autorización (Java) para asignar, quitar y determinar funciones y permisos mediante programación.
En AEM Forms, una función es un grupo de permisos para acceder a uno o más recursos de nivel de sistema. Estos permisos se crean mediante Administración de usuarios y los aplican los componentes del servicio. Por ejemplo, un administrador podría asignar la función "Autor del conjunto de directivas" a un grupo de usuarios. El Rights Management permitiría a los usuarios de ese grupo con esa función crear conjuntos de directivas a través de la consola de administración.
Existen dos tipos de funciones: funciones predeterminadas y funciones personalizadas. Los roles predeterminados (roles del sistema) ya residen en AEM Forms. Se da por hecho que el administrador no puede eliminar ni modificar las funciones predeterminadas y que, por lo tanto, son inmutables. Por lo tanto, las funciones personalizadas creadas por el administrador, que posteriormente puede modificarlas o eliminarlas, son mutables.
Las funciones facilitan la administración de permisos. Cuando se asigna una función a un principal, se asigna automáticamente un conjunto de permisos a ese principal y todas las decisiones específicas relacionadas con el acceso para el principal se basan en ese conjunto general de permisos asignados.
Resumen de los pasos summary_of_steps-4
Para administrar funciones y permisos, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente AuthorizationManagerService.
- Invoque las operaciones de rol o permiso correspondientes.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Crear un cliente de AuthorizationManagerService
Antes de poder realizar mediante programación una operación AuthorizationManagerService de User Management, debe crear un cliente AuthorizationManagerService. Con la API de Java, esto se logra creando un objeto AuthorizationManagerServiceClient
.
Invocar las operaciones de rol o permiso correspondientes
Una vez creado el cliente de servicios, puede invocar las operaciones de rol o permiso. El cliente de servicio permite asignar, quitar y determinar funciones y permisos.
Consulte también
Administración de funciones y permisos mediante la API de Java
Administración de funciones y permisos mediante la API de servicio web
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Inicios rápidos de API de User Manager
Administración de funciones y permisos mediante la API de Java managing-roles-and-permissions-using-the-java-api
Para administrar roles y permisos mediante la API del servicio Administrador de autorización (Java), realice las siguientes tareas:
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-usermanager-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente AuthorizationManagerService.
Cree un objeto
AuthorizationManagerServiceClient
utilizando su constructor y pasando un objetoServiceClientFactory
que contenga propiedades de conexión. -
Invoque las operaciones de rol o permiso correspondientes.
Para asignar un rol a un principal, invoque el método
assignRole
del objetoAuthorizationManagerServiceClient
y pase los siguientes valores:- Un objeto
java.lang.String
que contiene el identificador de rol - Matriz de
java.lang.String
objetos que contiene los identificadores principales.
Para quitar una función de una entidad de seguridad, invoque el método
unassignRole
del objetoAuthorizationManagerServiceClient
y pase los siguientes valores:- Un objeto
java.lang.String
que contiene el identificador de rol. - Matriz de
java.lang.String
objetos que contiene los identificadores principales.
- Un objeto
Consulte también
SOAP Inicio rápido (modo de): Administración de funciones y permisos mediante la API de Java
Administración de funciones y permisos mediante la API de servicio web managing-roles-and-permissions-using-the-web-service-api
Administre funciones y permisos mediante la API del servicio Administrador de autorización (servicio web):
-
Incluir archivos de proyecto.
Cree un proyecto de Microsoft .NET que utilice MTOM. Asegúrese de utilizar la siguiente definición de WSDL:
http://localhost:8080/soap/services/AuthorizationManagerService?WSDL&lc_version=9.0.1
.note note NOTE Reemplace localhost
por la dirección IP del servidor que hospeda AEM Forms. -
Cree un cliente AuthorizationManagerService.
-
Cree un objeto
AuthorizationManagerServiceClient
utilizando su constructor predeterminado. -
Cree un objeto
AuthorizationManagerServiceClient.Endpoint.Address
mediante el constructorSystem.ServiceModel.EndpointAddress
. Pase un valor de cadena que especifique el WSDL al servicio AEM Forms (por ejemplo,http://localhost:8080/soap/services/AuthorizationManagerService?blob=mtom
). No necesita usar el atributolc_version
. Este atributo se utiliza al crear una referencia de servicio. -
Cree un objeto
System.ServiceModel.BasicHttpBinding
obteniendo el valor del campoAuthorizationManagerServiceClient.Endpoint.Binding
. Convertir el valor devuelto enBasicHttpBinding
. -
Establezca el campo
MessageEncoding
del objetoSystem.ServiceModel.BasicHttpBinding
enWSMessageEncoding.Mtom
. Este valor garantiza que se utiliza MTOM. -
Habilite la autenticación HTTP básica realizando las siguientes tareas:
- AEM Asigne el nombre de usuario de los formularios de la al campo
AuthorizationManagerServiceClient.ClientCredentials.UserName.UserName
. - Asigne el valor de contraseña correspondiente al campo
AuthorizationManagerServiceClient.ClientCredentials.UserName.Password
. - Asigne el valor constante
HttpClientCredentialType.Basic
al campoBasicHttpBindingSecurity.Transport.ClientCredentialType
. - Asigne el valor constante
BasicHttpSecurityMode.TransportCredentialOnly
al campoBasicHttpBindingSecurity.Security.Mode
.
- AEM Asigne el nombre de usuario de los formularios de la al campo
-
-
Invoque las operaciones de rol o permiso correspondientes.
Para asignar un rol a un principal, invoque el método
assignRole
del objetoAuthorizationManagerServiceClient
y pase los siguientes valores:- Un objeto
string
que contiene el identificador de rol - Un objeto
MyArrayOf_xsd_string
que contiene los identificadores principales.
Para quitar una función de una entidad de seguridad, invoque el método
unassignRole
del objetoAuthorizationManagerServiceService
y pase los siguientes valores:- Un objeto
string
que contiene el identificador de rol. - Matriz de
string
objetos que contiene los identificadores principales.
- Un objeto
Consulte también
Autenticar usuarios authenticating-users
En este tema se describe cómo puede utilizar la API del servicio Administrador de autenticación (Java) para permitir que las aplicaciones cliente autentiquen a los usuarios mediante programación.
Es posible que se requiera autenticación de usuario para interactuar con una base de datos empresarial u otros repositorios empresariales que almacenen datos seguros.
Considere, por ejemplo, un escenario en el que un usuario introduce un nombre de usuario y una contraseña en una página web y envía los valores a un servidor de aplicaciones J2EE que aloja Forms. Una aplicación personalizada de Forms puede autenticar al usuario con el servicio Administrador de autenticación.
Si la autenticación se realiza correctamente, la aplicación tiene acceso a una base de datos empresarial segura. De lo contrario, se envía un mensaje al usuario para informarle de que no es un usuario autorizado.
El diagrama siguiente muestra el flujo lógico de la aplicación.
En la tabla siguiente se describen los pasos de este diagrama
Resumen de los pasos summary_of_steps-5
Para autenticar mediante programación a un usuario, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente AuthenticationManagerService.
- Invoque la operación de autenticación.
- Si es necesario, recupere el contexto para que la aplicación cliente pueda reenviarlo a otro servicio de AEM Forms para la autenticación.
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Crear un cliente de AuthenticationManagerService
Para poder autenticar a un usuario mediante programación, debe crear un cliente AuthenticationManagerService. Al usar la API de Java, cree un objeto AuthenticationManagerServiceClient
.
Invocar la operación de autenticación
Una vez creado el cliente de servicios, puede invocar la operación de autenticación. Esta operación necesita información sobre el usuario, como su nombre y contraseña. Si el usuario no se autentica, se genera una excepción.
Recuperar el contexto de autenticación
Una vez autenticado el usuario, puede crear un contexto basado en el usuario autenticado. A continuación, puede utilizar el contenido para invocar otros servicios de AEM Forms. Por ejemplo, puede utilizar el contexto para crear un(a) EncryptionServiceClient
y cifrar un documento de PDF con una contraseña. Asegúrese de que el usuario autenticado tenga la función denominada Services User
necesaria para invocar un servicio de AEM Forms.
Consulte también
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Autenticar a un usuario mediante la API de Java authenticate-a-user-using-the-java-api
Autenticar a un usuario mediante la API del servicio Administrador de autenticación (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-usermanager-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente AuthenticationManagerServices.
Cree un objeto
AuthenticationManagerServiceClient
utilizando su constructor y pasando un objetoServiceClientFactory
que contenga propiedades de conexión. -
Invoque la operación de autenticación.
Invoque el método
authenticate
del objetoAuthenticationManagerServiceClient
y pase los siguientes valores:- Objeto
java.lang.String
que contiene el nombre del usuario. - Matriz de bytes (un objeto
byte[]
) que contiene la contraseña del usuario. Puede obtener el objetobyte[]
invocando el métodogetBytes
del objetojava.lang.String
.
El método authenticate devuelve un objeto
AuthResult
, que contiene información sobre el usuario autenticado. - Objeto
-
Recupere el contexto de autenticación.
Invoque el método
getContext
del objetoServiceClientFactory
, el cual devolverá un objetoContext
.A continuación, invoque el método
initPrincipal
del objetoContext
y paseAuthResult
.
Autenticar a un usuario mediante la API de servicio web authenticate-a-user-using-the-web-service-api
Autenticar a un usuario mediante la API del servicio Administrador de autenticación (servicio web):
-
Incluir archivos de proyecto.
- Cree un ensamblado de cliente de Microsoft .NET que consuma el WSDL de Authentication Manager. (Consulte Invocación de AEM Forms mediante codificación Base64).
- Hacer referencia al ensamblado de cliente de Microsoft .NET. (Consulte "Hacer referencia al ensamblado de cliente .NET" en Invocar AEM Forms mediante codificación Base64.)
-
Cree un cliente AuthenticationManagerService.
Cree un objeto
AuthenticationManagerServiceService
utilizando el constructor de la clase de proxy. -
Invoque la operación de autenticación.
Invoque el método
authenticate
del objetoAuthenticationManagerServiceClient
y pase los siguientes valores:- Objeto
string
que contiene el nombre del usuario - Matriz de bytes (un objeto
byte[]
) que contiene la contraseña del usuario. Puede obtener el objetobyte[]
convirtiendo un objetostring
que contenga la contraseña en una matrizbyte[]
mediante la lógica que se muestra en el ejemplo siguiente. - El valor devuelto será un objeto
AuthResult
, que se puede usar para recuperar información sobre el usuario. En el ejemplo siguiente, la información del usuario se recupera obteniendo primero el campoauthenticatedUser
del objetoAuthResult
y, a continuación, los camposcanonicalName
ydomainName
del objetoUser
resultante.
- Objeto
Consulte también
Sincronización de usuarios mediante programación programmatically-synchronizing-users
Puede sincronizar usuarios mediante programación utilizando la API de administración de usuarios. Al sincronizar usuarios, está actualizando AEM Forms con los datos de usuario que se encuentran en su repositorio de usuarios. Por ejemplo, supongamos que agrega nuevos usuarios al repositorio de usuarios. AEM Después de realizar una operación de sincronización, los nuevos usuarios se convierten en usuarios de formularios de la aplicación de la aplicación de la manera más rápida. Además, los usuarios que ya no estén en su repositorio de usuarios se eliminarán de AEM Forms.
El diagrama siguiente muestra la sincronización de AEM Forms con un repositorio de usuario.
En la tabla siguiente se describen los pasos de este diagrama
Resumen de los pasos summary_of_steps-6
Para sincronizar usuarios mediante programación, realice los siguientes pasos:
- Incluir archivos de proyecto.
- Cree un cliente UserManagerUtilServiceClient.
- Especifique el dominio de empresa.
- Invoque la operación de autenticación.
- Determine si la operación de sincronización ha finalizado
Incluir archivos de proyecto
Incluya los archivos necesarios en el proyecto de desarrollo. Si está creando una aplicación cliente mediante Java, incluya los archivos JAR necesarios. Si utiliza servicios web, asegúrese de incluir los archivos proxy.
Crear un UserManagerUtilServiceClientclient
Para poder sincronizar usuarios mediante programación, debe crear un objeto UserManagerUtilServiceClient
.
Especifique el dominio de empresa
Antes de realizar una operación de sincronización mediante la API de administración de usuarios, debe especificar el dominio de empresa al que pertenecen los usuarios. Puede especificar uno o varios dominios de empresa. Para poder realizar mediante programación una operación de sincronización, debe configurar un dominio de empresa mediante la consola de administración. (Consulte ayuda de administración.)
Invocar la operación de sincronización
Después de especificar uno o varios dominios de empresa, puede realizar la operación de sincronización. El tiempo que se tarda en realizar esta operación depende del número de registros de usuario que hay en el repositorio de usuario.
Determine si la operación de sincronización se ha completado
Después de realizar mediante programación una operación de sincronización, puede determinar si la operación ha finalizado.
Consulte también
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión
Sincronización mediante programación de usuarios mediante la API de Java programmatically-synchronizing-users-using-the-java-api
Sincronizar usuarios mediante la API de administración de usuarios (Java):
-
Incluir archivos de proyecto.
Incluya archivos JAR de cliente, como adobe-usermanager-client.jar y adobe-usermanager-util-client.jar, en la ruta de clase del proyecto Java.
-
Cree un cliente UserManagerUtilServiceClient.
Cree un objeto
UserManagerUtilServiceClient
utilizando su constructor y pasando un objetoServiceClientFactory
que contenga propiedades de conexión. -
Especifique el dominio de empresa.
- Invoque el método
scheduleSynchronization
del objetoUserManagerUtilServiceClient
para iniciar la operación de sincronización de usuarios. - Crear una instancia de
java.util.Set
mediante un constructor deHashSet
. Asegúrese de especificarString
como tipo de datos. Esta instancia deJava.util.Set
almacena los nombres de dominio a los que se aplica la operación de sincronización. - Para que se agregue cada nombre de dominio, invoque el método add del objeto
java.util.Set
y pase el nombre de dominio.
- Invoque el método
-
Invoque la operación de sincronización.
Invoque el método
getContext
del objetoServiceClientFactory
, el cual devolverá un objetoContext
.A continuación, invoque el método
initPrincipal
del objetoContext
y paseAuthResult
.
Consulte también
Sincronización de usuarios mediante programación
Incluir archivos de biblioteca Java de AEM Forms
Estableciendo propiedades de conexión