3、OA权限管理

本文详细介绍了OA系统中的权限管理,包括权限的定义、权限数据初始化、角色权限分配以及权限的使用。通过示例展示了如何创建权限树结构,如何设置和使用权限,以及在用户登录、页面展示和Action请求中如何实现权限验证。
摘要由CSDN通过智能技术生成

要点说明

l  权限就是控制功能的使用(功能对应着URL)。

l  对功能的控制就是对URL的访问控制。

l  在我们的程序中,一个功能对应一个或两个URL:

•    1,例如列表或删除功能,只对应一个URL.

•    2,例如添加或修改功能,对应两个URL:..add, ..addUI

•     

 

public class Privilege implements Serializable{

 

    private Long id;

    private String url;

    private String name;

    private String icon;

    private Set<Role> roles=new HashSet<Role>();

    private Privilege parent;

    private Set<Privilege> children=new HashSet<Privilege>();

   

    public Privilege(){

    }

    public Privilege( String name,String url, String icon, Privilege parent) {

        super();

        this.name= name;

        this.url= url;

        this.icon= icon;

        this.parent= parent;

}

 

//省略settergetter方法

}

 

 

 

 

具体有哪些功能

l  初始化数据

•    权限数据。

•    超级管理员。

 

l  分配权限

•    给角色分配权限。

•    用户的权限就是用户所有角色的权限。

l  使用权限

•    1,登录、注销。

•    2,左侧的菜单是根据权限显示的。

•    3,右侧页面中的链接是根据权限显示的。

•    4,拦截每一个action请求,验证用户是否有权限访问。

 

 

一.初始化数据

 

@Component

public classInstaller {

 

    @Resource

    private SessionFactorysessionFactory;

   

    @Transactional

    public void install(){

        Sessionsession=sessionFactory.getCurrentSession();

       

        //一、超级管理员

        Useruser=newUser();

        user.setName("超级管理员");

        user.setLoginName("admin");

        user.setPassword(DigestUtils.md5Hex("666666"));

       

        session.save(user);

       

       

        //权限数据

        Privilegemenu, menu1,menu2,menu3,menu4,menu5;

       

        menu=new Privilege("系统管理",null,"FUNC20082.gif",null);

        menu1=new Privilege("岗位管理","roleAction_list",null,menu);

        menu2=new Privilege("部门管理","departmentAction_list",null,menu);

        menu3=new Privilege("用户管理","userAction_list",null,menu);

 

        session.save(menu);

        session.save(menu1);

        session.save(menu2);

        session.save(menu3);

       

        session.save(new Privilege("岗位列表","roleAction_list",null,menu1));

        session.save(new Privilege("岗位删除","roleAction_delete",null,menu1));

        session.save(new Privilege("岗位添加","roleAction_add",null,menu1));

        session.save(new Privilege("岗位修改","roleAction_edit",null,menu1));

       

        session.save(new Privilege("部门列表","departmentAction_list",null,menu2));

        session.save(new Privilege("部门删除","departmentAction_delete",null,menu2));

        session.save(new Privilege("部门添加","departmentAction_add",null,menu2));

        session.save(new Privilege("部门修改","departmentAction_edit",null,menu2));

       

        session.save(new Privilege("用户列表","userAction_list",null,menu3));

        session.save(new Privilege("用户删除","userAction_delete",null,menu3));

        session.save(new Privilege("用户添加","userAction_add",null,menu3));

        session.save(new Privilege("用户修改","userAction_edit",null,menu3));

        session.save(new Privilege("用户初始化密码","userAction_initPassword",null,menu3));

       

        //----------------------------------------

        menu= newPrivilege("网上交流",null, "FUNC20064.gif", null);

        menu1= newPrivilege("论坛管理","forumManageAction_list","FUNC20064.gif", menu);

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值