本篇文章主要介绍了"基于shiro的权限管理开发实现",主要涉及到Shiro,权限管理方面的内容,对于软件工程感兴趣的同学可以参考一下:
上篇博客中简单介绍了一下权限管理的原理,其中包括最主要的两部分认证和授权。这篇博客中简单介绍一下shiro的认证和授权过程。 什么是shiro?Shiro是ap...
在web系统集成中使用后两种方式,我在这儿举个简单的例子就用第一种方式了。实例
1.自定义realm
// 用于授权
@Override
protected AuthorizationInfo doGetAuthorizationInfo(
PrincipalCollection principals) {
// 获取身份信息
//将getPrimaryPrincipal方法返回值转为真实身份类型(在上边的doGetAuthenticationInfo认证通过填充到Simpl)
String username = (String) principals.getPrimaryPrincipal();
// 根据身份信息从数据库中查询权限数据
// ....这里使用静态数据模拟
List permissions = new ArrayList();
permissions.add("user:create");
permissions.add("user:delete");
// 将权限信息封闭为AuthorizationInfo
SimpleAuthorizationInfo simpleAuthorizationInfo = new SimpleAuthorizationInfo();
for (String permission : permissions) {
simpleAuthorizationInfo.addStringPermission(permission);
}
return simpleAuthorizationInfo;
}
2.配置shiro-realm.ini文件与上面认证配置文件相同
3.创建授权代码