javaweb应用中的数据库角色管理
我想在基于Java Web的应用程序中设计角色管理,即管理员可以访问所有资源,操作员只能访问少数资源,仅查看用户不能访问任何资源
如果我在用户表中保留“角色”列,因为管理员可以执行所有操作,所以对于操作员可以执行的所有操作,我必须同时保留管理员检查。如下
if (role == Operator or **role== Admin**)
{
do this....
}
否则,它将阻止该操作的管理员
此外,如果将来角色类型增加,它将创建大量分散的if-else
考虑到未来的增强,设计它的最佳方式是什么
另外,我不想使用像Spring Security这样的框架
# 1 楼答案
我将在
User
实体类中添加一个checkRole(role)
方法,用于检查用户是否具有指定的角色。它可以返回一个boolean
,或者如果用户没有角色,则抛出一个专门的异常编辑
要添加范围功能,请尝试以下操作: