Shiro

https://blog.csdn.net/u014745069/article/details/100812556
https://blog.csdn.net/yankun01/article/details/78269222

文件

//文件
UserRealm.java  (com.ruoyi.framework.shiro.realm.UserRealm)
  
ShiroConfig.java  (com.ruoyi.framework.config)

ShiroUtils.java  (com.ruoyi.framework.util)

可直接用对象与方法 SecurityUtils 和 SecurityUtils.getSubject()

//1.SecurityUtils 
Subject subject = SecurityUtils.getSubject()

汪方法汇总

//1.登录方法  三步骤    a.获取subject   b.获取登录信息创建令牌  c.subject.login(token)
@PostMapping("/login")
public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe)
{
    UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);
    Subject subject = SecurityUtils.getSubject();
    subject.login(token);
}


//2.ShiroUtils.getSysUser
public static SysUser getSysUser()
{
    SysUser user = null;
    Object obj = getSubject().getPrincipal();
    if (StringUtils.isNotNull(obj))
    {
        user = new SysUser();
        BeanUtils.copyBeanProp(user, obj);
    }
    return user;
}

//3.自定义Realm类   a.继承AuthorizingRealm  b.实现认证和授权方法
public class UserRealm extends AuthorizingRealm{	
	@Override  //授权
	protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection arg0){
		SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
		return info;
	}
	
	@Override  //登录认证
	protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException{
		SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user, password, getName());
		return info;
	}
	
	// 清理缓存权限
	public void clearCachedAuthorizationInfo()
	{
	    this.clearCachedAuthorizationInfo(SecurityUtils.getSubject().getPrincipals());
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘然生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值