OA系统:权限管理

可以通过不同划分管理权限:分组进行权限管理,根据角色权限管理,根据用户权限管理。

权限中定义的是用户和事情之间的关系,并没有涉及到角色。所以,如果不使用角色也可以实现成员资格管理。但是,角色作为某些用户的集合,这样对制定规格是更为方便、合理,也更符合业务逻辑的客观存在形式。 即:通过角色对用户进行权限管理。

权限管理系统功能分为:授权与认证

4、授权,指将权限授予角色或用户 
   a) 如果用户A拥有角色B、角色C,那么,缺省的情况下,用户A将拥有被分配给角色A和角色C的所有权限(即默认情况下,用户A继承其拥有的角色所具有的所有权限) 
   b) 如果用户拥有多个角色,那么用户的权限是这些角色权限的合集 
   c) 如果用户拥有多个角色,而且角色之间的授权有冲突(比如对同一个资源的同一个操作,一个角色为“允许”,另外一个角色为“不允许”),将以优先级别高的角色为准(所谓优先级别,也就是对于这个用户所拥有的角色而言,是有顺序的,同一个角色在不同的用户那里可能拥有不同的优先级) 
5. 认证,指用户访问资源的某些操作时,根据授权,判断是否允许用户的访问 
  a)在用户访问的时候,需要进行即时的判断(是否有权访问)

员工职位=角色-》设置权限。权限有树形结构

为角色分配权限-》分配子权限,角色也就有父权限。

一、权限有哪些功能:控制哪些用户可以使用哪些功能。
    1,初始化权限
        向数据库插入所有的权限数据,这个操作只在安装做一次。ps:权限没有增删改(因为功能已经开发完)
        插入一个超级管理员用户,这个用户有所有的权限,并且他的权限不可以被修改与删除。
    2,分配权限
        指定哪些用户有哪些权限(某权限就是使用某功能的许可,也就是某URL的访问许可)。
        是给Role分配权限(用户的权限就是用户所有角色的权限的合集)。
    3,使用权限
        1,用户登录后才能使用OA中的功能(登录、注销)。
        2,左侧的菜单是根据权限显示的。
        3,右侧页面中的链接是根据权限显示的。
        4,验证每一个请求的权限,有权限才能访问。
权限= 操作+资源
控制权限---》控制url

二、整体思路
    某权限就是使用某功能的许可,
    一个功能就是一个多个URL(在ItcastOA中有两种情况):
        1,一个功能对应1个URL,例:删除用户功能对应的URL是userAction_delete。
        2,一个功能对应2个URL,例:添加用户功能对应的URL是userAction_addUI(添加页面的显示)与uesrAction_add。
    功能的使用许可,也就是某URL的访问许可。
    分配权限就是指定用户可以访问哪些URL(白名单)
    每个功能应对应一个唯一的名称,以便用户分配权限时看到的是名称,最终关联的还是URL。

    --------- 举例 --------
    资源:用户
    操作:增、删、改、查、初始化密码
    资源+操作 = 权限

    用户增            userAction_addUI, userAction_add
    用户删            userAction_delete
    用户改            userAction_editUI, userAction_edit
    用户查            userAction_list
    用户初始化密码    userAction_initPassword
    -----------------------

 

三、设计实体
    权限分为三级:顶级菜单、二级菜单、右侧页面中的链接。
    选中一个权限时,应同时选中所有直系上级的权限。
    取消一个权限时,应同时取消他所有的下级权限(所有子孙权限)。
    取消同级的所有权限时,就同时取消他们的上一级权限。

 

 

 

  开发思路:

1)用户登录,登录成功后将登录用户放入Session,并将用户对应的角色和角色对应的权限立即查询
2)左侧菜单数据从数据库中获取
    * 通过一个监听器,项目启动时加载权限数据,放入application作用域
    * 用户登录成功之后,直接从application作用域中获取权限数据展示
3)左侧菜单按照登录人的权限展示
    <s:if test="#session.loginUser.hasPrivilegeByName(name)">
4)在数据库中加入超级管理员,在程序中判断如果当前登录用户是超级管理员,就直接显示所有权限菜单
5)右侧连接和按钮按照权限显示

6)编写自定义拦截器,拦截用户的所有针对Action的请求

1,初始化权限:安装时:执行一次--》完成权限数据库的初始化,分配超级管理员

(用户通过批处理文件进行初始化权限数据表文件)

2,权限数据:即菜单栏的显示----》* 通过一个监听器,项目启动时加载所有权限数据,放入application作用域
    * 用户登录成功之后,直接从application作用域中获取权限数据展示

监听器实现:

再web.xml中配置监听器

页面处理:从Session中获取登录用户,根据用户的角色最终获取对应的权限,判断用户的权限是否和当前循环出的权限是否一致,如果一致就显示 

3,右侧连接和按钮按照权限显示

oa管理软件新版oa管理软件信息由承元oa提供:www.chysoft.net 承元软件新推出的oa管理软件页面更友好,操作更简单,能助您管理更轻松、效率更高、信息更安全。 承元软件是中国银行的oa管理软件供应商,多年来专注于研发oa管理软件,自主研发的oa平台已成为行业典范。 基于平台的承元平台型OA擅长解决企业协同办公的个性化需求,不仅拥有一般办公系统通用的功能,同时利用支撑平台、基于J2EE、跨平台、支持不同数据库等优势,可以很方便的集成企业所需的业务系统功能(如ERP、CRM等),扩展新的应用功能,真正做到集业务和办公于一体。承元OA可移植、易扩展、易集成、易维护,是最先进的协同办公个性化产品。 1、擅长企业个性化的应用解决方案,专为您的企业量身定制 2、强大的支撑平台系统,帮助您不断完善和扩充功能 3、良好的软件扩展性,灵活的开发接口 4、领先的开发技术,易于和其他应用系统集成 5、多种途径服务保障,为企业信息化办公保驾护航 您还在为留不住优秀人才而苦恼吗? 您还在为企业执行力太差而头痛吗? 您还在为公司办事效率低而着急吗?~~~~~~ 把这些事交给专业的oa管理软件来处理吧,马上打电话咨询:0755-82501339 QQ:1106280916 更多oa管理软件新版a管理软件信息可登陆承元软件官网了解:www.chysoft.net 承元软件——提供最先进的协同办公平台,专为中小企业提供信息化建设服务。 电话:0755-82501339 QQ:1106280916 单位:承元软件技术有限公司 地址:深圳市福田区彩田南路福建大厦A座1101室
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值