2011-08-24 16 views
7

Me gustaría conocer las mejores prácticas para el control de acceso basado en roles con la primavera.Control de acceso basado en roles con Spring MVC

Mis requisitos son,

habré conjunto de roles asignados a los usuarios decir,

usuario1 = admin, usuario2 = experto

usuario1 tendrá los accesos escribir como

/admin/member-managem ent

/admin/de gestión de proyectos

......

para usuario2 ....

/myproject1/*

por lo si el usuario2 intenta acceder a la url

/admin /-gestión de miembros

será redirigir a la página error de autorización.

Respuesta

6

El marco estándar para usar con Spring MVC es Spring Security. Si bien puede ser muy complejo, aquí está una versión mínima de lo que necesita: 4.2.2 A Minimal Configuration

En su caso, la configuración sería algo como esto:

<http auto-config='true'> 
    <intercept-url pattern="/admin/**" access="ROLE_ADMIN" /> 
</http> 
2

primavera de Seguridad tiene el concepto de papeles pero fuera de la caja no tiene un concepto de permisos. Tiene un concepto de ACLs pero estas ACL son mucho más complicadas que los permisos, y están vinculadas a actuar sobre objetos específicos, en lugar de autorizar acciones en general.

Eche un vistazo a Apache Shiro. Tiene roles y permissions que se ven muy similares a los que dio como ejemplo (usando comodines). También es easy to use with Spring.

+0

+1 para Apache Shiro :) – malhobayyeb

Cuestiones relacionadas