传智播客java学习--教育办公系统5

今天继续学习佟老师的教育办公系统的旅程,今天主要学习权限模块和员工模块的集成;

      

       1. 集成权限模块和员工模块 .

       1). 新录入员工时 , 可以为其添加角色

              . 使用 jQuery weebox 插件弹出角色的对话框

             

       2). 修改员工时 , 可以为其修改角色

      

       3). 实现导航的页面的权限化 , 根据当前登录员工的权限定制 struts-menu, 并添加登出功能

      

       . 参考 struts-menu 例程中的 Dynamic, Databased-driven Menu 链接中的代码 , 提供模拟实现

                    - 员工管理

                   - 员工添加

                   - 员工查询

                 

       . 修改 Authority 领域模型使其适应 struts-menu 实现 :

      

      

       private Authority parentAuthority;

      

       private Set<Authority> subAuthorities;

      

       private Resource mainResource;

      

       private int isNavigate;

      

       . 新建 MenuAction, 用于显示当前登录用户的导航按钮树 .

              a. 获取当前用户的登录名

              b. 利用登录名获取当前用户的所具有的一切权限信息 , 利用这些权限构建导航按钮树 .  

      

       . struts-menu 中添加 " 登出 " 链接 , 并在 spring-security 中配置 , 让其生效 , 再为其添加 js, 使其可以退出当前页面

      

       4). 实现页面的权限化 : 即根据权限定制页面的 " 超链接 "

              使用 spring-security 的自定义标签实现 .

             

              <script type="text/javascript"> 区域内使用 java 自定义标签的方法为 : 把自定义标签使用 '' 引起来

             

       5). 删除 " 角色 ":

              . 因为在角色中没有和 Employee 相关联 , 所以在删除角色时 , 可能会发生外键引用异常

              . 需要使用手工的方法删除和 Role 对应的 Employee 中间表的信息 :

                     --> 先需要获取到和当前 Role 对象关联的所有的 Employee: SELECT e FROM Employee e JOIN e.roleSet r WHERE r.id = ?

                     --> 再使上述的所有的 Employee 都和当前的 Role 对象解除关联关系 :

                     List<Employee> employees = employeeDao.getByEmployeesRole(role);

                     for(Employee employee: employees){

                            employee.getRoleSet().remove(role);

                     }

                    

                     --> 删除 Role 对象 :

                     roleDao.delete(id);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值