日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Springboot shiro認證授權實現原理及實例

瀏覽:23日期:2023-05-12 11:41:33

關于認證授權,需要的數據表有:用戶表,角色表,用戶角色關聯表,權限表,角色權限關聯表,一次如下

Springboot shiro認證授權實現原理及實例Springboot shiro認證授權實現原理及實例Springboot shiro認證授權實現原理及實例

Springboot shiro認證授權實現原理及實例Springboot shiro認證授權實現原理及實例

之前寫過了shiro的登錄認證,在自定義的realm中,我們實現AuthorizingRealm接口中的方法:package com.zs.springboot.realm;

import com.zs.springboot.model.User;import com.zs.springboot.service.UserService;import com.zs.springboot.util.ResultUtil;import org.apache.shiro.SecurityUtils;import org.apache.shiro.authc.*;import org.apache.shiro.authz.AuthorizationInfo;import org.apache.shiro.authz.SimpleAuthorizationInfo;import org.apache.shiro.realm.AuthorizingRealm;import org.apache.shiro.session.Session;import org.apache.shiro.subject.PrincipalCollection;import org.apache.shiro.util.ByteSource;import org.springframework.beans.factory.annotation.Autowired;import java.util.List;import java.util.Map;/** * @author zs * 登錄realm */public class LoginRealm extends AuthorizingRealm { @Autowired private UserService userService; /** * 授權方法,只有頁面出現關于權限標簽的時候或者項目中關于授權注解的時候,才可以被使用 * @param principal * @return */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principal) {  User user = (User) principal.getPrimaryPrincipal(); Map<String, Object> resultMap1 = userService.getRoleByUid(user.getUid()); //獲取角色,通過多表查詢獲取用戶對應的角色 List<String> roleList = (List<String>) ResultUtil.getResult(resultMap1); SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); info.addRoles(roleList); //獲取權限,通過關聯中間表,多表查詢出該用戶對應的角色所擁有的權限 Map<String, Object> resultMap2 = userService.getPromessionByUid(user.getUid()); List<String> permissionList = (List<String>) ResultUtil.getResult(resultMap2); info.addStringPermissions(permissionList); return info; } /** * 認證方法 * @param token * @return * @throws AuthenticationException */ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { //獲取當前登錄的用戶名 String username = (String) token.getPrincipal(); //根據用戶到數據庫搜索用戶信息 Map<String, Object> login = userService.login(username); //如果用戶不存在則拋出異常 if ((Integer) login.get('code') == 404) { throw new UnknownAccountException('用戶不存在'); } //如果用戶存在,獲取用戶信息 User user = (User) login.get('result'); //進行認證 SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user, user.getPassword(), ByteSource.Util.bytes(user.getSalt()), this.getName()); //將用戶信息放入session中,密碼制空 Session session = SecurityUtils.getSubject().getSession(); user.setPassword(null); session.setAttribute('user', user); return info; }}

注意,在授權方法中,principal.getPrimaryPrincipal()方法;如果在認證方法中,simpleAuthenticationInfo對象中傳遞的第一個參數如果為obj對象,則返回值為對象(可以強轉為User對象),如果傳遞的時username字符串,則返回的是username字符串,字符串是不能強轉為User對象的。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
91欧美在线| 成人日韩在线观看| 日本欧美国产| 国产一区二区三区久久 | 国产精品22p| 视频一区中文字幕精品| 麻豆久久精品| 亚洲精品看片| 好看的亚洲午夜视频在线| 国户精品久久久久久久久久久不卡 | 人人草在线视频| 精品九九久久| 福利在线免费视频| 久久久久久久久99精品大| 日韩三区免费| 欧美久久精品一级c片| 国产亚洲精品v| 日韩欧美中文字幕在线视频| 日本va欧美va精品发布| 欧美日韩a区| 精品视频在线你懂得| 国产精品自在| 日韩理论片av| 亚洲欧美日韩精品一区二区| 丝袜美腿一区二区三区| 日韩精品91亚洲二区在线观看| 国产精品大片免费观看| 日本不卡免费高清视频在线| 韩日一区二区三区| 69堂精品视频在线播放| 日韩欧美少妇| 日韩国产欧美在线视频| 成人日韩精品| 免费在线观看一区| 国产精品视区| 激情国产在线| 99精品在线| 欧美一区久久| 亚洲成a人片| 亚洲欧美视频| 国产精品网在线观看| 欧美少妇精品| 免费高清在线一区| 日韩精品中文字幕一区二区| 久久中文欧美| 黄色国产精品| 美腿丝袜亚洲三区| 激情婷婷欧美| 亚洲不卡视频| 日韩啪啪电影网| 视频一区欧美精品| 欧美精品国产| 好看的亚洲午夜视频在线| 精品视频一区二区三区四区五区| 宅男在线一区| 国产精品亚洲欧美| 亚洲女人av| 亚洲四虎影院| 日韩欧美美女在线观看| 欧美成a人免费观看久久| 日韩av电影一区| 日韩精品欧美激情一区二区| 国产视频网站一区二区三区| 99成人在线视频| 久久影院一区二区三区| 亚洲我射av| 精品一区视频| 欧美精品中文| 亚洲精品动态| 丝袜亚洲另类欧美| 不卡一区2区| 国产精品不卡| 国产成人在线中文字幕| 亚洲一级大片| 羞羞答答国产精品www一本| 三上悠亚国产精品一区二区三区 | 中文字幕亚洲影视| 黑丝一区二区三区| 国产精品久久久久77777丨| 亚洲另类黄色| 不卡视频在线| 亚洲欧美日本国产专区一区| 久久免费大视频| 欧美91精品| 欧美日一区二区| 不卡中文字幕| 久久久国产精品一区二区中文| 成人福利av| 久久精品卡一| 一本色道精品久久一区二区三区| 精品在线99| 午夜国产欧美理论在线播放| 亚洲精品网址| 亚洲久久在线| 国产精品视频一区二区三区四蜜臂 | 九九99久久精品在免费线bt| 国产精品15p| 久久精品国产网站| 日韩欧美一区二区三区在线视频| 亚洲成av在线| 天堂成人国产精品一区| 蜜桃视频免费观看一区| 亚洲精品动态| 日韩1区2区| 女人天堂亚洲aⅴ在线观看| 亚洲人成高清| 国产一区二区三区四区五区传媒| 久久午夜影院| www成人在线视频| 中文字幕亚洲在线观看| 久久久久伊人| 久久大逼视频| 精品视频在线你懂得| 国内精品99| 国产精品亚洲成在人线| 久久中文字幕二区| 亚洲日本在线观看视频| 欧美韩日一区| 日本一区福利在线| 欧美日韩尤物久久| 国产精品探花在线观看| 欧美在线资源| 国产白浆在线免费观看| 日韩午夜一区| 日韩深夜视频| 日本va欧美va精品发布| 午夜国产精品视频| 国产欧美精品| 亚洲制服少妇| 麻豆久久一区| 四虎在线精品| 亚洲日产av中文字幕| www.com.cn成人| 国产另类在线| 亚洲欧美网站在线观看| 久久久久99| 国产欧美69| 久久国产88| 日韩精品第一区| 久久不卡日韩美女| 亚洲毛片视频| 亚洲经典在线| 午夜国产欧美理论在线播放| av高清不卡| 国产福利一区二区三区在线播放| 视频一区中文字幕| 蜜桃一区二区三区| 1024精品一区二区三区| 免费在线成人| 麻豆视频一区二区| 卡一卡二国产精品| 久久久久伊人| 精品亚洲免a| 久久精品av麻豆的观看方式| 日韩综合一区二区三区| 首页国产欧美日韩丝袜| 日韩精品一级二级| 蜜桃视频一区二区| 在线观看视频免费一区二区三区| 婷婷久久一区| 亚洲专区欧美专区| 日韩精品欧美成人高清一区二区| 日韩国产欧美在线视频| 欧美午夜三级| 在线天堂资源www在线污| 亚洲欧美日韩高清在线| 国产亚洲人成a在线v网站| 激情欧美丁香| 国产三级一区| 国产精品日本欧美一区二区三区| 国产成人精选| 欧美自拍一区| 亚洲精品黄色| 亚洲综合二区| 欧美成人高清| 国产精品专区免费| 国产乱人伦精品一区| 日韩在线观看一区二区| 日韩大片在线观看| 国产福利一区二区精品秒拍 | 夜夜嗨一区二区三区| 欧美国产美女| 麻豆精品视频在线| 欧美成a人片免费观看久久五月天| 蜜桃传媒麻豆第一区在线观看| 99久久久国产精品美女| 国产一区二区三区久久| 国产精品1区| 久久精品亚洲一区二区| 国产精品大片免费观看| 中文字幕成人| 日本强好片久久久久久aaa| 日韩综合小视频| 久久精品不卡| 久久精品影视| 狠狠干综合网| 亚洲三级网站| 欧美日韩亚洲三区| 久久99影视| 91精品精品|