1. 权限:
控制功能的使用。
2. Web应中的权限:
web中,每个功能都有对应的URL地址,对功能的控制就是对URL地址访问的控制。
3.权限方案:
用户的权限就是用户的所有角色的权限的集合。
一个功能是否能被某用户使用,是判断用户权限中是否有这个功能的使用许可。
用户-------角色-------权限
一个功能可能对应多个URL地址,例如:添加功能:addUI,add
4.与权限有关的功能具体有哪些:
初始化数据(安装):
1.权限数据。
2.超级管理员。
分配权限:
给角色分配权限
使用权限:
1.登录,注销,主页面
2.左侧的菜单式根据权限显示的
3.右侧页面中的连接是根据权限显示的
4.拦截每一个action请求,验证用户是否有权限访问
5.实体设计
初始化数据:
@Component
public class Installer {
@Resource
private SessionFactory sessionFactory;
@Transactional
public void install () {
Session session = sessionFactory.getCurrentSession();
//保存超级管理员用户
User user = new User();
user.setLoginName("admin");
user.setName("超级管理员");
user.setPassword("admin");
session.save(user);
//保存权限数据
Privilege menu, menu1, menu2, menu3, menu4, menu5;
menu = new Privilege("系统管理", null, null);
session.save(menu);
menu1 = new Privilege("岗位管理", "/role_list", menu);
menu2 = new Privilege("部门管理", "/department_list", menu);
menu3 = new Privilege("用户管理", "/user_list", menu);
session.save(menu1);
session.save(menu2);
session.save(menu3);
session.save(new Privilege("岗位列表", "/role_list", menu1));
session.save(new Privilege("岗位删除", "/role_delete", menu1));
session.save(new Privilege("岗位添加", "/role_add", menu1));
session.save(new Privilege("岗位修改", "/role_edit", menu1));
session.save(new Privilege("部门列表", "/department_list", menu2));
session.save(new Privilege("部门删除", "/department_delete", menu2));
session.save(new Privilege("部门添加", "/department_add", menu2));
session.save(new Privilege("部门修改", "/department_edit", menu2));
session.save(new Privilege("用户列表", "/user_list", menu3));
session.save(new Privilege("用户删除", "/user_delete", menu3));
session.save(new Privilege("用户添加", "/user_add", menu3));
session.save(new Privilege("用户修改", "/user_edit", menu3));
session.save(new Privilege("初始化密码", "/user_initPassword", menu3));
menu = new Privilege("网上交流", null, null);
menu1 = new Privilege("论坛管理", "/forumManage_list", menu);
menu2 = new Privilege("论坛", "/forum_list", menu);
session.save(menu);
session.save(menu1);
session.save(menu2);
menu = new Privilege("审批流转", null, null);
menu1 = new Privilege("审批流程管理", "/processDefinition_list", menu);
menu2 = new Privilege("申请模板管理", "/template_list", menu);
menu3 = new Privilege("起草申请", "/flow_templateList", menu);
menu4 = new Privilege("待我审批", "/flow_myTaskList", menu);
menu5 = new Privilege("我的申请查询", "/flow_myApplicationList", menu);
session.save(menu);
session.save(menu1);
session.save(menu2);
session.save(menu3);
session.save(menu4);
session.save(menu5);
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
Installer installer = (Installer) ac.getBean("installer");
installer.install();
}
}