【发布时间】:2011-09-29 14:24:12
【问题描述】:
我有一个关于 Spring 安全性的非常基本的问题,但是这个问题可以推广到任何授权方案:
一个组是否应该有一个权限,而一个用户可以是多个组的成员? 或者 一个组可能有多个权限,而一个用户可能只分配到一个组?
我需要一个用户拥有以下三个权限:ROLE_ADMIN、ROLE_MANAGER、ROLE_EMPLOYEE。
以下表格结构更详细地说明了这个问题:
路线 1。
GROUP TABLE
===========
ID, NAME
1, 'Admins'
2, 'Managers'
3, 'Employees'
GROUP_AUTHORITY TABLE
=====================
GROUP_ID, AUTHORITY
1, 'ROLE_ADMIN'
1, 'ROLE_MANAGER'
1, 'ROLE_EMPLOYEE'
2, 'ROLE_MANAGER'
2, 'ROLE_EMPLOYEE'
3, 'ROLE_EMPLOYEE'
GROUP_MEMBER TABLE
==================
GROUP_ID, USERS_ID
1, 1
USERS TABLE
===========
USERS_ID, NAME
1, 'John Admin'
//-----------------------------------------------------------
路线 2:
GROUP TABLE
===========
ID, NAME
1, 'Admins'
2, 'Managers'
3, 'Employees'
GROUP_AUTHORITY TABLE
=====================
GROUP_ID, AUTHORITY
1, 'ROLE_ADMIN'
2, 'ROLE_MANAGER'
3, 'ROLE_EMPLOYEE'
GROUP_MEMBER TABLE
==================
GROUP_ID, USERS_ID
1, 1
2, 1
3, 1
USERS TABLE
===========
USERS_ID, NAME
1, 'John Admin'
我将不胜感激。
【问题讨论】:
标签: spring spring-security authorization