2012-01-11 10 views
6

Estoy bastante desesperado, porque creo que debe haber una solución fácil a mi problema pero estoy buscando, fue en vano.Restricción de seguridad en web.xml para usuarios autenticados sin membresías de roles

Estoy usando un Reino personalizado en Glassfish 3.1.1. Este dominio personalizado (implementa AppservPasswordLoginModuleInterface) toma un token de seguridad de la solicitud HTTPS, valida el token de seguridad y luego lo devuelve a Glassfish.

El problema es que el token de seguridad no contiene ningún grupo, lo que significa que el método public String [] getGroupsList() o el reino personalizado devuelve una lista vacía (correctamente, porque no hay roles en el token de seguridad).

Dicho esto, me gustaría tener una restricción de seguridad que solo los usuarios validados pueden iniciar sesión. Sé que puedo usar la siguiente restricción en web.xml:

<security-constraint> 
    <web-resource-collection> 
    <web-resource-name>mywebapp</web-resource-name> 
    <url-pattern>/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
    <role-name>Users</role-name> 
    </auth-constraint> 
</security-constraint> 

Pero debido a que no tengo ningún grupo, no puedo asignar ningún grupo de funciones, y por lo tanto no se puede utilizar la autenticación en restricciones con papel -nombre.

Hay una forma en web.xml para definir que solo los usuarios autenticados están permitidos, ignorando en qué rol están e ignorando si tienen alguna función.

Hay un par de soluciones que no puedo poner en práctica:

  • que no puedo cambiar el LDAP subyacente para incluir papeles, porque el esquema LDAP y la forma en cómo los usuarios de LDAP se asignan a la seguridad tokens de nuestra fuera de alcance .
  • Tengo que usar el controlador de dominio personalizado actual, no puedo reemplazarlo con uno mío que solo devuelve un grupo predeterminado. Lo intenté una vez, y funcionó. Pero no puedo reemplazar el reino personalizado existente con el mío porque el reino personalizado debe ser genérico.

Pero realmente creo que debería haber una forma en web.xml solo para decir: Ignorar todos los grupos y roles, solo quiero un usuario autenticado?

Cualquier ayuda sería apreciada.

Respuesta

15

Bastante viejo, pero para aquellos que buscan una respuesta, puede utilizar un nombre * papel:

<auth-constraint> 
    <role-name>*</role-name> 
</auth-constraint> 

This guy lograron resolverlo.

+0

No funciona en Weblogic 10.3.4. –

+0

Funciona en WF10.1.0. No olvide establecer también en un * (de lo contrario, si * está solo en , esto no funciona). –

Cuestiones relacionadas