一、URL拦截权限控制(基于过滤器实现)
1.授权
控制谁有权限访问应用程序,授权的几个要素:权限,角色和用户。
2.授权顺序
1)应用程序调用主题,判断hasRole,isPermitted得到角色或者用户权限的列表
2)组成对应的授权方法
3)协调如何授权
4)通过桥进行各种方式的授权
3.案例步骤
(1)放开 认证步骤中(3)下面这条注释
<!--/page_base_staff.action = perms["staff-list"] 授权页面-->
(2)重写 认证步骤中(5)的授权方法
//授权方法
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
//为用户授权
info.addStringPermission("staff-list");
//TODO 后期需要修改为根据当前登录用户查询数据库,获取实际对应的权限
User user = (User) SecurityUtils.getSubject().getPrincipal();
//User user2 = (User) principals.getPrimaryPrincipal();
return info;
}