javascript
SpringBoot整合Shiro(认证+授权)
文章目錄
- Shiro框架簡(jiǎn)介
- Spring Boot整合shiro環(huán)境搭建
- Shiro實(shí)現(xiàn)登錄攔截
Shiro框架簡(jiǎn)介
Apache Shiro是一個(gè)強(qiáng)大且易用的Java安全框架,執(zhí)行身份認(rèn)證丶授權(quán)丶密碼和會(huì)話管理。
shiro有6大作用:
主要是 認(rèn)證 和 授權(quán)
以用戶登錄為例-多圖參考↓
Spring Boot整合shiro環(huán)境搭建
1.創(chuàng)建Spring Boot應(yīng)用,集成Shiro及相關(guān)組件,pom.xml
pom.xml
2.準(zhǔn)備一個(gè)sql表
3.配置yml
4.自定義realm
自定義realm首先我們就要寫一個(gè)realm,而這個(gè)realm我們一般要繼承AuthorizingRealm類,
因?yàn)檫@個(gè)類里面就有實(shí)現(xiàn)接收用戶認(rèn)證信息和接收用戶權(quán)限信息的兩個(gè)方法,而realm就是用來(lái)從數(shù)據(jù)庫(kù)查詢這些數(shù)據(jù)的。
下面是我自定義的realm:
5.編寫controller控制器
@Controller public class MyController {@RequestMapping("/index")public String toIndex(Model model){model.addAttribute("msgTest","hello,shiro");return "index";}@RequestMapping("user/add")public String add(){return "user/add";}@RequestMapping("user/update")public String update(){return "user/update";} }6.編寫Shiro的配置類
@Configuration public class ShiroConfig {//3. 連接前端 ShiroFilterFactoryBeanpublic ShiroFilterFactoryBean getShiroFilterFactoryBean(@Qualifier("defaultWebSecurityManager") DefaultWebSecurityManager defaultWebSecurityManager) {ShiroFilterFactoryBean bean = new ShiroFilterFactoryBean();//設(shè)置安全管理器bean.setSecurityManager(defaultWebSecurityManager);return bean;}//2. 接管對(duì)象 DafaultWebSecurityManager@Beanpublic DefaultWebSecurityManager defaultWebSecurityManager(@Qualifier("userRealm") UserRealm userRealm) {DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();//關(guān)聯(lián)userReal 接管reaml對(duì)象securityManager.setRealm(userRealm);return securityManager;}//1. 創(chuàng)建realm對(duì)象 、需要自定義@Beanpublic UserRealm userRealm() {return new UserRealm();} }7.controller對(duì)應(yīng)的界面
index
add
update
8.主啟動(dòng)器 啟動(dòng) 并訪問測(cè)試 http://localhost:8080
跳轉(zhuǎn)add和update測(cè)試
Spring Boot整合Shiro環(huán)境搭建成功
Shiro實(shí)現(xiàn)登錄攔截
1.編寫登錄界面
2.編寫登錄界面的controller
3.Realm配置過濾器
Realm內(nèi)置過濾器
anon: 無(wú)需認(rèn)證就可以訪問
authc: 必須認(rèn)證了才能訪問
user: 必須擁有我 記住我 功能才能訪問
perms: 擁有對(duì)莫個(gè)資源的權(quán)限才能訪問
role: 擁有莫個(gè)角色權(quán)限才能訪問
4.測(cè)試
我們給add界面設(shè)置的anon 無(wú)需認(rèn)證就可以訪問
我們給update界面設(shè)置的authc: 必須認(rèn)證了才能訪問
訪問update界面設(shè)置的是認(rèn)證了才能訪問
我們?cè)O(shè)置了登錄攔截
沒有權(quán)限訪問的界面都會(huì)被登錄界面攔截
訪問update功能
Shiro實(shí)現(xiàn)登錄攔截成功!!!
#springboot+shiro+mybatis-plus+thymeleaf整合
springboot+shiro+mybatis-plus+thymeleaf整合
總結(jié)
以上是生活随笔為你收集整理的SpringBoot整合Shiro(认证+授权)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 修改thymeleaf默认路径
- 下一篇: springboot整合shiro+my