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

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例

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

關(guān)于認(rèn)證授權(quán),需要的數(shù)據(jù)表有:用戶表,角色表,用戶角色關(guān)聯(lián)表,權(quán)限表,角色權(quán)限關(guān)聯(lián)表,一次如下

Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例

Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例Springboot shiro認(rèn)證授權(quán)實(shí)現(xiàn)原理及實(shí)例

之前寫(xiě)過(guò)了shiro的登錄認(rèn)證,在自定義的realm中,我們實(shí)現(xiàn)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; /** * 授權(quán)方法,只有頁(yè)面出現(xiàn)關(guān)于權(quán)限標(biāo)簽的時(shí)候或者項(xiàng)目中關(guān)于授權(quán)注解的時(shí)候,才可以被使用 * @param principal * @return */ @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principal) {  User user = (User) principal.getPrimaryPrincipal(); Map<String, Object> resultMap1 = userService.getRoleByUid(user.getUid()); //獲取角色,通過(guò)多表查詢獲取用戶對(duì)應(yīng)的角色 List<String> roleList = (List<String>) ResultUtil.getResult(resultMap1); SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(); info.addRoles(roleList); //獲取權(quán)限,通過(guò)關(guān)聯(lián)中間表,多表查詢出該用戶對(duì)應(yīng)的角色所擁有的權(quán)限 Map<String, Object> resultMap2 = userService.getPromessionByUid(user.getUid()); List<String> permissionList = (List<String>) ResultUtil.getResult(resultMap2); info.addStringPermissions(permissionList); return info; } /** * 認(rèn)證方法 * @param token * @return * @throws AuthenticationException */ @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { //獲取當(dāng)前登錄的用戶名 String username = (String) token.getPrincipal(); //根據(jù)用戶到數(shù)據(jù)庫(kù)搜索用戶信息 Map<String, Object> login = userService.login(username); //如果用戶不存在則拋出異常 if ((Integer) login.get('code') == 404) { throw new UnknownAccountException('用戶不存在'); } //如果用戶存在,獲取用戶信息 User user = (User) login.get('result'); //進(jìn)行認(rèn)證 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; }}

注意,在授權(quán)方法中,principal.getPrimaryPrincipal()方法;如果在認(rèn)證方法中,simpleAuthenticationInfo對(duì)象中傳遞的第一個(gè)參數(shù)如果為obj對(duì)象,則返回值為對(duì)象(可以強(qiáng)轉(zhuǎn)為User對(duì)象),如果傳遞的時(shí)username字符串,則返回的是username字符串,字符串是不能強(qiáng)轉(zhuǎn)為User對(duì)象的。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲精品黄色| 91成人网在线观看| 在线亚洲国产精品网站| 91精品国产福利在线观看麻豆| 国产66精品| 精品国产99| 韩国女主播一区二区三区| 精品五月天堂| 日韩中文欧美| 国产一区二区中文| 久久国产精品亚洲77777| 欧洲激情综合| 亚洲香蕉网站| 中文字幕亚洲精品乱码| 国产日韩亚洲欧美精品| 麻豆国产精品777777在线| 精品国产欧美| 国产91精品对白在线播放| 国产精品日韩久久久| 亚洲97av| 免费在线观看一区| 色婷婷精品视频| 亚洲自啪免费| 久久国产免费看| 水蜜桃精品av一区二区| 亚洲电影在线| 日本伊人午夜精品| 国产福利一区二区精品秒拍| 水蜜桃久久夜色精品一区| 久久国产电影| 久久国产精品亚洲77777| 日韩高清电影免费| 精品一区视频| 午夜久久免费观看| 青青青国产精品| 国产一区日韩| 影音国产精品| 国产精品视频首页| 欧美亚洲国产一区| 四虎国产精品免费久久| 精品一区二区三区视频在线播放| 久久亚洲国产| 亚洲欧美在线综合| 精品久久久中文字幕| 在线精品视频在线观看高清| 欧美日韩国产一区二区在线观看| 中文在线资源| 亚洲一区二区小说| 水蜜桃精品av一区二区| 视频一区视频二区中文| 精品一区电影| 中文国产一区| 精品一区二区三区中文字幕视频| 黄色免费成人| 国产精品xxx| 激情欧美一区二区三区| 久久激五月天综合精品| 日韩精品看片| 欧美一级二级视频| 久久五月天小说| 国产精品日韩精品在线播放| 欧美日韩第一| 精品国产精品久久一区免费式| 尤物网精品视频| 国产一区二区三区四区二区| 久久亚洲不卡| 国产高潮在线| 国产欧美一级| 免费日本视频一区| 日韩电影在线视频| 日韩精彩视频在线观看| 亚洲成人国产| 欧美亚洲自偷自偷| 好吊一区二区三区| 国产精品99一区二区三区| 午夜在线播放视频欧美| 福利一区和二区| 日韩精品午夜视频| 欧美日韩国产高清| 国产自产自拍视频在线观看| 国产精品视频一区二区三区 | 蜜桃伊人久久| 九色porny丨国产首页在线| 久久国产婷婷国产香蕉| 蘑菇福利视频一区播放| 色偷偷色偷偷色偷偷在线视频| 97久久亚洲| 亚洲精品中文字幕乱码| 天堂中文av在线资源库| 国产精品va视频| 亚洲精品在线a| 婷婷亚洲五月色综合| 国产成人免费精品| 国产精品一页| 7m精品国产导航在线| 亚洲影视一区二区三区| 999国产精品永久免费视频app| 激情不卡一区二区三区视频在线| 国产欧美久久一区二区三区| 日韩视频1区| 伊人久久一区| 亚洲日韩视频| 亚洲欧美日韩精品一区二区| 亚洲午夜电影| 欧美日韩中文字幕一区二区三区| 久久久久久夜| 精品国产黄a∨片高清在线| 国产人成精品一区二区三| 亚洲毛片网站| 综合亚洲色图| 亚洲精品成人一区| 欧美va天堂在线| 久久久精品五月天| 日本美女一区| а√天堂中文在线资源8| 欧美成人一二区| 国产探花一区二区| 日韩三级久久| 日本久久一区| 国产日韩精品视频一区二区三区| 日韩中文字幕视频网| 亚洲午夜久久| 亚洲伊人精品酒店| 蜜臀91精品一区二区三区| 亚洲一区亚洲| 午夜在线精品| 免费日韩av片| 欧美中文日韩| 亚洲精品护士| 青青伊人久久| 欧美精品第一区| 麻豆精品视频在线观看视频| 免费精品一区| 国产成人免费精品| 日韩欧美一区二区三区在线视频| 欧美亚洲日本精品| 激情偷拍久久| 亚洲在线网站| 亚洲三级精品| 欧美精品影院| 久久久精品区| 给我免费播放日韩视频| 97精品一区| 久久久久.com| 午夜亚洲福利在线老司机| 日韩视频一二区| 国产精品宾馆| 久久夜夜操妹子| 午夜欧美精品| 日本亚洲视频在线| 国产精品大片免费观看| 中文在线资源| 激情91久久| 中文精品在线| 日本强好片久久久久久aaa| 国产精品v一区二区三区| 成人亚洲精品| 欧洲激情综合| 日韩av电影一区| 精品国产乱码久久久| 亚洲调教视频在线观看| 亚洲专区视频| 欧美国产三级| 日韩精品一区二区三区免费观影| 欧美日韩三区| 国产日韩视频| 亚洲不卡av不卡一区二区| 亚洲开心激情| 日韩不卡一区| 亚洲精品免费观看| 精品国产麻豆| 亚洲欧美一区在线| 久久精品xxxxx| 久久青草久久| 日韩avvvv在线播放| 色婷婷久久久| 日本aⅴ免费视频一区二区三区| 高清一区二区三区| 蜜桃视频一区二区三区| 国产极品模特精品一二| 精品欧美激情在线观看| 国产精品久久免费视频| 欧美影院三区| 国产精品久久久久久模特 | 亚洲91网站| 神马久久午夜| 一区二区不卡| 性感美女一区二区在线观看| 日本在线成人| 蜜桃国内精品久久久久软件9| 人人精品久久| 久久精品99久久无色码中文字幕| 亚洲尤物av| 都市激情国产精品| 亚州av一区| 久久网站免费观看| 美女国产一区二区三区| 日韩专区在线视频| 精品女同一区二区三区在线观看| 亚洲欧美成人综合|