Spring Boot 之 Shiro

Shiro 具有认证、授权、会话管理、加密。

是通过Filter实现,即通过URL规则来进行过滤和权限校验。

动态配置:
https://www.jianshu.com/p/43ff03525d88
https://www.jianshu.com/p/d6ded24b9138

授权方法中用的对象在认证方法的返回对象中保存,并且这个对象需要序列化。

SpringBoot与Shiro整合-权限管理实战视频笔记(之一):https://blog.csdn.net/fukaiit/article/details/81676469
SpringBoot与Shiro整合-权限管理实战视频笔记(之二):https://blog.csdn.net/fukaiit/article/details/81676485
SpringBoot与Shiro整合-权限管理实战视频笔记(之三):https://blog.csdn.net/fukaiit/article/details/81676503

url被拦截后,认证后浏览器访问原url:
原理:将被拦截的url保存,然后验证后通过重定向让浏览器重新访问。
public static SavedRequest getSavedRequest(ServletRequest request) {
SavedRequest savedRequest = null;
Subject subject = SecurityUtils.getSubject();
Session session = subject.getSession(false);
if (session != null) {
savedRequest = (SavedRequest) session.getAttribute(SAVED_REQUEST_KEY);
}
return savedRequest;
}

subject.login(usernamePasswordToken);
return "redirect:"+savedRequest.getRequestUrl();

原文地址:https://www.cnblogs.com/zd540/p/11291463.html