×

权限管理系统设计 权限 权限控制

大家好,一般权限控制系统是怎么做的呢?chmod 权限777 是什么意思求大神帮助

admin admin 发表于2022-05-06 00:39:58 浏览165 评论0

抢沙发发表评论

大家好,一般权限控制系统是怎么做的呢

简单说下我在自己的框架中设计的思路:权限系统分权限定义和实际的权限数据2部分。这2部分要求都是可自定义任意扩展的。权限定义分2个表:permit, permit_rightspermit:idname??use_extralabelpermit_rights:idrightspermit_idlabel这2个表构造了可以扩展和自定义的“权限定义表”permit表定义一个domain, 对应一个action的classrights表定义相应的class中需要权限控制的method用户授权的数据表则很简单:acl:idauthen_idrights_idis_groupacl_extraacl_idextra_dataacl定义用户的权限信息,acl_extra是用户附加数据的信息实际的代码实现则和我的框架关联较大,我通过一个interceptor,类似AOP的方式,任何需要授权系统的action class需要实现一个marker interface,比如need_authorized当这个action class中的某个method 被调用前,会被sercurity interceptor拦截住,interceptor将检查当前用户的授权记录,并根据上面的几个表,检查当前用户是否具备相应的权限,是,则放行,invoke相应的method,否则将被拦截到一个授权失败的结果。这样设计的好处是,一个interceptor可以处理全部的授权,任何一个class需要授权,只需要在上面2个表里添加定义,那么用户授权界面则会有相应的选项,勾选后就有相应的数据。interceptor无需知道具体的权限的含义,而action class也无需添加多余的检查授权的代码,因为如果没有授权,action是无法被invoke的。以上是设计思路而已,具体的情况根据各自的适用环境进行变通。

chmod 权限777 是什么意思求大神帮助

在Unix和Linux的各种操作系统下,每个文件(文件夹也被看作是文件)都按读、写、运行设定权限。 例如我用ls -l命令列文件表时,得到如下输出: -rw-r--r-- 1 bu users 2254 2006-05-20 13:47 tt.htm 从第二个字符起rw-是说用户bu有读、写权,没有运行权,接着的r--表示用户组users只有读权限,没有运行权,最后的r--指其他人(others)只有读权限,没有写权和运行权。这是系统默认设置,我可以改写tt.htm,同组的人和其他人只有权读,没人有权运行,因为只是一个html文件,不必运行。这在Novell的directory services之前很先进。 读、写、运行三项权限可以用数字表示,就是r=4,w=2,x=1。所以,上面的例子中的rw-r--r--用数字表示成644。 反过来说777就是rwxrwxrwx,意思是该登录用户(可以用命令id查看)、他所在的组和其他人都有最高权限。 再多说一句。我用chmod o-r tt.htm命令改权限,o-r是others的权限中减掉读。结果是 -rw-r----- 1 bu users 2254 2006-05-20 13:47 tt.htm 如果用命令chmod 777 tt.htm,结果是 -rwxrwxrwx 1 bu users 2254 2006-05-20 13:47 tt.htm 任何人都有读、写、运行三项权限。

用户权限设计

基于角色的访问控制模型就是把“用户—角色—操作—资源”关联到一起,实现非自主型访问控制策略。使用基于角色的访问控制模型可以减轻安全管理工作,因为某种任务是稳定的,而负责该项任务的人员是经常变化的,这种方式只需把新的用户分配给已有的角色即可,无需为用户重新指定资源和操作,因而简化了授权管理工作。

为了保障本系统操作使用的信息安全,系统登录认证体系由三个要素组成:用户、角色、权限,三者相辅相成,共同组成系统的安全运行屏障。

1.用户信息

用户信息表统一管理,在用户信息表中存储用户名称、登录名、口令、各子系统权限、用户角色信息等。

用户信息表的添加、删除以及子系统权限修改由总系统授权的管理员执行,本系统中,用户信息表的操作在业务处理与信息服务子系统的系统管理菜单下的用户信息管理页面。用户口令可以自行改变,用户权限的变更需要提请管理员同意,并由管理员修改。-权限控制

子系统启动时读取用户信息表验证用户权限,在系统运行时依据权限分配相应的功能。依据用户在子系统中的权限级别控制用户可操作的功能,实现最终用户对ORACLE数据库中数据的读取和添加操作权限控制(表8-2)。-权限

表8-2 用户信息结构表

2.角色信息

角色可以根据需要任意多地添加,多个角色权限组合生成多个权限控制,对应到一个确定的用户,赋予用户对功能模块的控制权限。用户角色表包括角色名称、用户唯一值编码等信息。示例见表8-3。

表8-3 用户角色表(示例)

在数据库中为各个功能模块建立了功能名称表,每个功能模块均有记录,有功能编码和功能名称及其他附属信息。功能名称示例见表8-4。

表8-4 功能名称表(示例)

每个用户必须属于至少一个角色,每个角色具备多个功能的控制权限,功能权限通过角色传递给用户,从而实现用户对功能的操作权限控制。

3.权限信息

权限表明了用户可执行的操作。系统权限控制采用最大优先,用户可以拥有多个角色,每个角色对每一页面都可拥有权限,但在权限结果判断时只以最大权限为主,即管理员级权限大于并包含访问者权限。功能权限示例如表8-5所示。-权限控制

表8-5 功能权限表(示例)

系统规划的子系统权限等级见表8-6。

表8-6 子系统权限等级规划表(部分)

续表

4.用户认证授权

通过以上四个表将用户、角色与权限组合起来,可以形成无穷多的用户权限组合,直接控制用户权限到每个细分功能。

用户、角色、权限、功能控制流程如图8-1所示:

图8-1 用户权限控制流程图

功能权限表仅在部署角色权限时使用,标示功能具备的可部署权限。

在角色中必须保证有一个管理角色拥有用户管理功能的管理权限,防止不能分配角色与权限,同样在用户中必须保证至少有一个用户是管理角色。