En la lección anterior, ha asignado autorización basada en usuario individual con principales de usuario en la política de autorización JAAS (Java Authentication and Authorization Service). Sin embargo, cuando tenga cientos o miles de usuarios, utilice la autorización basada en grupo, que autoriza el acceso en función de los grupos, en lugar de hacerlo en función de usuarios individuales.
Desafortunadamente, el objeto Subject que se autentica desde WebSphere Application Server solo contiene un principal de usuario. Este objeto no contiene un principal de grupo. Puede añadir un módulo de inicio de sesión personalizado para llenar el principal de grupo en el objeto Subject.
Para esta guía de aprendizaje, el módulo de inicio de sesión personalizado se denomina com.ibm.websphere.samples.objectgrid.security.lm.WASAddGroupLoginModule. El módulo se encuentra en el archivo groupLM.jar. Coloque este archivo JAR en el directorio WAS-INSTALL/lib/ext.
grant codebase "http://www.ibm.com/com/ibm/ws/objectgrid/security/PrivilegedAction"
principal com.ibm.websphere.sample.xs.security.WSGroupPrincipal
"defaultWIMFileBasedRealm/cn=operatorGroup,o=defaultWIMFileBasedRealm" {
permission com.ibm.websphere.objectgrid.security.MapPermission "Grid.Map1", "read";
};
grant codebase "http://www.ibm.com/com/ibm/ws/objectgrid/security/PrivilegedAction"
principal com.ibm.websphere.sample.xs.security.WSGroupPrincipal
"defaultWIMFileBasedRealm/cn=adminGroup,o=defaultWIMFileBasedRealm" {
permission com.ibm.websphere.objectgrid.security.MapPermission "Grid.Map1", "all";
};
El nombre de principal es WSGroupPrincipal,
que representa el grupo. Utilice los pasos siguientes para configurar el módulo de inicio de sesión com.ibm.websphere.samples.objectgrid.security.lm.WASAddGroupLoginModule proporcionado:
En la consola administrativa, realice los pasos siguientes en los servidores xs1 y xs2 en el xsCluster. Si se utiliza una topología de despliegue distinta, realice los pasos siguientes en los servidores de aplicaciones que alojan los servidores de contenedor.
Puede comprobar si el módulo de inicio de sesión ha configurado la autorización de grupo mediante la aplicación de ejemplo.
Ha configurado grupos para simplificar la asignación de permisos a los usuarios de la aplicación.