Creo que la manera recomendada de hacer esto en la primavera de Seguridad es, con las listas de control de acceso de dominio, consulte GrantedAuthoritySid @
http://static.springsource.org/spring-security/site/docs/3.1.x/reference/domain-acls.html
Sin embargo, hacerse pasar por otro usuario es algo más que tener una "identidad delegado" , también se debe considerar las implicaciones en el registro: (¿o ambos)
- ¿quiere que su registro aparezca como usuario original o usuario suplantado
- ¿Desea que la "suplantación" muestre solo lo que ve el usuario suplantado, o el superconjunto de permisos del usuario original y el usuario imitado?
Otra posibilidad es crear una función "iniciar sesión como", que esencialmente cambia la identidad principal de la sesión actual o inicia una nueva sesión con la identidad suplantada.
En todo lo anterior, puede abrir un problema de seguridad sin darse cuenta, así que creo que esta es la razón por la que las características de suplantar el estilo no son un lugar común. Por el contrario, los diseños tienden hacia Control de acceso basado en roles (RBAC) o Control de acceso basado en atributos (ABAC). Usando RBAC/ABAC, podría crear una característica de estilo de delegado donde crea atributos/roles delegados, y en los casos especiales donde necesita mostrar el origen/destino de la delegación (por ejemplo, registros de auditoría), los maneja como casos de esquina .
Estaba leyendo los documentos el otro día ... ¿no hablaron de RunAs? Consulte los documentos y vea si es relevante para usted – MJB