¿Qué permisos otorga Open Access OA a los usuarios?
La relación entre los usuarios y las cosas se define en permisos y no involucra roles. Por lo tanto, la gestión de miembros se puede lograr sin utilizar roles. Sin embargo, los roles, como conjunto de ciertos usuarios, hacen que la formulación de especificaciones sea más conveniente y razonable, y están más en línea con la forma de existencia objetiva de la lógica empresarial. Es decir: gestionar los permisos de los usuarios a través de roles.
Las funciones del sistema de gestión de permisos se dividen en: autorización y autenticación
4. Autorización se refiere a otorgar permisos a roles o usuarios
a) Si es usuario A tiene el rol B, el rol C, entonces, de manera predeterminada, el usuario A tendrá todos los permisos asignados al rol A y al rol C (es decir,
b) Si el usuario tiene múltiples roles, entonces el rol del usuario los permisos serán la suma de estos permisos de roles
c) Si un usuario tiene múltiples roles y hay conflictos de autorización entre roles (por ejemplo, conflictos de autorización para la misma operación en el mismo recurso), entonces los permisos del usuario Los permisos serán La suma de estos permisos de roles está "permitido", mientras que otro rol está "no permitido"), el rol con la mayor prioridad tendrá prioridad (la llamada prioridad, es decir, la prioridad de los roles propiedad de el usuario, está en orden y tiene el mismo rol. Las prioridades de diferentes usuarios pueden ser diferentes)
5. La autenticación se refiere a ciertas operaciones que autorizan a los usuarios a acceder a los recursos. Determina si el usuario tiene permiso para hacerlo. acceder al recurso.
a) Cuando un usuario accede, se requiere un juicio inmediato (si tiene derechos de acceso)
Posición del empleado = rol - "Establecer permisos" Los permisos tienen una estructura de árbol
Es un rol Asignar permisos: "Asigne subpermisos y el rol tendrá los permisos principales.
I. Qué funciones tienen los permisos: Controlar qué usuarios pueden utilizar qué funciones.
1. Inicializar permisos:
Insertar todos los datos de permisos en la base de datos. Esta operación solo se realiza una vez durante el proceso de instalación. PD: Los permisos no se han agregado, eliminado ni cambiado (porque la función ha sido desarrollada)
Inserte un usuario superadministrador que tenga todos los permisos y sus permisos no se puedan modificar ni eliminar.
2. Asignar permisos:
Especifique qué usuarios tienen qué permisos (un permiso es un permiso para utilizar una determinada función, es decir, acceder a una determinada URL).
Es decir, asignar permisos a roles (los permisos de un usuario son la suma de los permisos de todos los roles del usuario).
3. Permisos de uso:
1. Después de iniciar sesión, el usuario puede utilizar las funciones en OA (iniciar sesión, cerrar sesión).
2. Se muestra el menú de la izquierda según los permisos.
3. Los enlaces de la página derecha se muestran según los permisos.
4. Verifique que cada solicitud tenga derechos de acceso.
Permiso= Operación+Recurso
Permiso de control---"URL de control
2. Idea general
Un permiso es usar una determinada Licencia para una función,
Una función son múltiples URL (hay dos casos en ItcastOA):
1. Una función corresponde a una URL, por ejemplo:
2. Una función corresponde a dos URL. Por ejemplo, las URL correspondientes a la función agregar usuario son userAction_addUI (agregar visualización de página) y uesrAction_add.
El permiso de una función es el permiso de acceso. de una determinada URL. /p>
Asignar permisos significa especificar a qué URL pueden acceder los usuarios (lista blanca)
Cada característica debe tener un nombre único para que cuando a los usuarios se les asignen permisos, puedan verla. el nombre y finalmente ver la URL asociada a él.
--------- Ejemplo--------
Recurso: Usuario
Operación: agregar, eliminar, cambiar, Verifique e inicialice la contraseña
Resource+Action = Permission
userAction_addUI, userAction_add
userDelete userAction_delete
userEdit userAction_editUI, userAction_edit
userCheck userAction_list
UserAction_Delete, userAction_Check, userCheck.list
Contraseña de inicialización de usuario userAction_initPassword
----------------- ------
3. Diseño de entidades
Los permisos se dividen en tres niveles: menú de nivel superior, menú de segundo nivel y enlaces en la página derecha.
Cuando se selecciona un permiso, también se deben seleccionar todos los permisos inmediatamente superiores a él.
Cuando eliminas un permiso, también debes eliminar todos sus permisos subordinados (todos los secundarios).
Al cancelar todos los permisos de pares, también se deben cancelar los permisos superiores.
Ideas de desarrollo:
1) Inicio de sesión del usuario Después de iniciar sesión correctamente, el usuario que inició sesión se colocará en la sesión, y se le asignará la función correspondiente y los permisos correspondientes. el rol se consultará inmediatamente
2) Los datos del menú de la izquierda provienen de la base de datos
* A través del oyente, los datos de permiso se cargan cuando se inicia el proyecto y se colocan en el alcance de la aplicación.
* Después de que el usuario inicia sesión correctamente, los datos de permiso se cargan directamente desde el alcance de la aplicación Mostrar datos de permiso
3) El menú de la izquierda se muestra de acuerdo con los permisos de inicio de sesión
4) Agregue un superadministrador en la base de datos y determine en el programa si está actualmente conectado el usuario es superadministrador, el menú de todos los permisos se mostrará directamente
5) Muestra la conexión y el botón correctos
6) Escribe un interceptor personalizado para interceptar todas las solicitudes de acción de los usuarios
1 Inicializar permisos: Durante el proceso de instalación: Ejecutar una vez - "Completar la inicialización de la base de datos de permisos y asignar superadministrador
(Los usuarios inicializan el archivo de la tabla de datos de permisos a través de archivos por lotes)
2. Datos de permiso: es decir, mostrar la barra de menú---- "*A través de un oyente, todos los datos de permiso cargados cuando se inicia el proyecto se importan al alcance de la aplicación
> *Después de que el usuario inicia sesión correctamente, los datos de permiso se obtienen directamente del alcance de la aplicación para su visualización
Implementación del oyente:
Configurar el oyente en web.xml