SSM+Shiro
来源:互联网 发布:视频特效制作软件哪些 编辑:程序博客网 时间:2024/06/13 11:21
网上就没有一个正经的
package shiro;import java.util.ArrayList;import java.util.List;import org.apache.shiro.authc.AuthenticationException;import org.apache.shiro.authc.AuthenticationInfo;import org.apache.shiro.authc.AuthenticationToken;import org.apache.shiro.authc.SimpleAuthenticationInfo;import org.apache.shiro.authz.AuthorizationInfo;import org.apache.shiro.authz.SimpleAuthorizationInfo;import org.apache.shiro.realm.AuthorizingRealm;import org.apache.shiro.subject.PrincipalCollection;import org.springframework.beans.factory.annotation.Autowired;import com.learn.bean.User;import com.learn.service.LoginService;import exception.CustomException;public class CustomRealm extends AuthorizingRealm{@AutowiredLoginService loginservice;public void setname() {super.setName("customRealm");}//Authen 认证@Overrideprotected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {// TODO Auto-generated method stubString userCode= (String) token.getPrincipal();User user = null;try {user = loginservice.getPassByName(userCode);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}//账号不存在if(user==null) {return null;}String password = user.getPassword();SimpleAuthenticationInfo simpleAuthenticationInfo=new SimpleAuthenticationInfo(user,password,this.getName());return simpleAuthenticationInfo;}//Author 授权@Overrideprotected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {//从principals获取主身份信息 User user= (User) principals.getPrimaryPrincipal(); //角色查询 List<String> roles = null;try {roles = loginservice.getRoleByName(user.getUsername());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}//权限查询List<String> permission = null;try {permission = loginservice.getPermissionByName(user.getUsername());} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} SimpleAuthorizationInfo Info=new SimpleAuthorizationInfo(); //写入角色 if(roles != null) { Info.addRoles(roles); } //写入权限 if(permission != null) { Info.addStringPermissions(permission); } return Info;}}
阅读全文
0 0
- ssm+shiro
- SSM+shiro
- SSM+Shiro
- ssm整合shiro
- ssm+freemark集成shiro
- ssm+freemark集成shiro
- ssm+shiro+druid搭建
- ssm+shiro+UEditor整合
- SSM+shiro整合
- 7、ssm整合shiro
- SSM整合shiro完整版
- ssm项目集成shiro
- ssm+shiro的配置文件
- SSM(三)Shiro使用详解
- shiro与SSM项目整合
- shiro与SSM项目整合
- Maven+SSM+Shiro整合配置
- ssm+freemarker集成shiro修改
- Android Studio 使用NDK编译Protobuf为so库
- 第十周项目1(1)-层次遍历算法的验证
- ios 私有变量的发展历史以及self. 和 _的区别
- UE4 C++编程常用知识点总结
- bootstrap中col-xs-*和col-sm-* 和col-md-*
- SSM+Shiro
- Centreon 安装部署指南++
- MAVEN的安装
- 打开回闪特性
- 第十五周项目1 验证算法(2)插入排序之希尔排序
- 第八周 项目三 — 对称矩阵压缩存储的实现与应用(2)
- urllib.request
- 十三周 项目2
- git merge 和 git rebase 区别