十二.shiro更改使用者資訊同時更改subject中的資訊
當更改使用者資訊的時候,發現subject.卻還是原來的資訊,
沒有直接的辦法更改,只能給當前使用者切換身份,切換一個認證資訊給安全管理器。
當更改使用者資訊後,呼叫setUser方法,UserInfo是原來放在SimpleAuthenticationInfo中的物件,realName是原來realm的名字
public class ShiroUtils { public static Subject getSubjct(){ return SecurityUtils.getSubject(); } public static UserInfo getUser(){ return (UserInfo) getSubjct().getPrincipal(); } /** * 切換身份,登入後,動態更改subject的使用者屬性 * @param userInfo */ public static void setUser(UserInfo userInfo) { Subject subject = SecurityUtils.getSubject(); PrincipalCollection principalCollection = subject.getPrincipals(); String realmName = principalCollection.getRealmNames().iterator().next(); PrincipalCollection newPrincipalCollection = new SimplePrincipalCollection(userInfo, realmName); subject.runAs(newPrincipalCollection); } }
相關推薦
十二.shiro更改使用者資訊同時更改subject中的資訊
當更改使用者資訊的時候,發現subject.卻還是原來的資訊, 沒有直接的辦法更改,只能給當前使用者切換身份,切換一個認證資訊給安全管理器。 當更改使用者資訊後,呼叫setUser方法,UserInfo是原來放在SimpleAuthenticationInfo中的物件,r
我的shiro之旅: 十二 shiro 踢出使用者(同一使用者只能一處登入)
部落格已移至 http://blog.gogl.top 看了一下官網,沒有找到關於如何控制同一使用者只能一處登入的介紹,網上也沒有找到相關的文章。可能有些人會記錄使用者的登入資訊,然後達到踢出使用者的效果。這裡介紹一個更簡單的方法。 如果我們跟shiro的原始碼,我們可以
【Java學習筆記之二十二】解析接口在Java繼承中的用法及實例分析
ani 復制代碼 ads compute 現在 target body 常量 實現接口 一、定義 Java接口(Interface),是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具
Spring Boot 初級入門教程(十二) —— 執行、測試、打包過程中碰到的各種錯誤
錯誤一:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project test-springboot: Compilation fail
Linux 網路協議棧開發基礎篇(十二)—— 使用wireshark分析TCP/IP協議中TCP包頭的格式
摘要: 本文簡單介紹了TCP面向連線理論知識,詳細講述了TCP報文各個欄位含義,並從Wireshark俘獲分組中選取TCP連線建立相關報文段進行分析。 一、概述 TCP是面向連線的可靠傳輸協議,兩個程序互發資料之前需要建立連線,這裡的連線只不過是端系統中分配的一些快
Redis系列(十二):資料結構SortedSet跳躍表中基本操作命令和原始碼解析
1.SkipList Redis的sortedSet資料結構是有序不重複的(索引為唯一的,資料(score)卻可以重複), 跳錶是redis的一個核心元件,也同時被廣泛地運用到了各種快取地實現當中,它的主要優點, 就是可以跟紅黑樹、AVL等平衡樹一樣,做到比較穩定地插入、查詢與刪除。理論插入查詢刪除的演算法時
CoreThink開發(十二)更改默認出錯異常頁防止暴露敏感數據
highlight true pos pub light brush 關閉 sql exception 默認的異常頁會打印文件位置,而且是絕對路徑,會打印SQL語句,真實上線一定不要用這個默認的,而且關閉trace關閉調試模式也不行。 針對CoreThink1.2 Th
五十二、設置更改root密碼、連接MySQL、MYSQL常用命令
設置更改root密碼 連接MySQL MySQL常用命令 五十二、設置更改root密碼、連接MySQL、MYSQL常用命令一、設置更改root密碼 root用戶是MySQL的超級管理員用戶,這個root和系統的root並不是一個用戶,需要區分開,也可以創建普通用戶來連接MySQL。
Unity3d開發(十二)使用Menu.SetCheck更改選單勾選狀態
在編輯器中總有一些改變狀態量的需求,例如:是否輸出日誌。通常的做法是在程式碼中更改,不過這需要重新編譯,而且也對非程式人員不友好 。更靈活的做法是使用本地變數儲存,不過這寫起來比較麻煩
sql 如何同時更改一列中的多行值
sql如圖,我要把 pre_tel 列 都加上 010 或者其他區號,但是如何用同一條 sql 語句實現?sql 如何同時更改一列中的多行值
項目一:第十二天 1、常見權限控制方式 2、基於shiro提供url攔截方式驗證權限 3、在realm中授權 5、總結驗證權限方式(四種) 6、用戶註銷7、基於treegrid實現菜單展示
eal 重復數 規則 認證通過 delete get 數據庫 filter 登陸 1 課程計劃 1、 常見權限控制方式 2、 基於shiro提供url攔截方式驗證權限 3、 在realm中授權 4、 基於shiro提供註解方式驗證權限 5、 總結驗證權限方式(四種) 6、
已經為專案配置了 SVN 資源庫資訊如何更改
** 已經為專案配置了 SVN 資源庫資訊如何更改 ** 今天重連專案的時候發現,專案還使用之前的svn地址 點選finish 我搜索了關於這個問題的解決辦法,當時一位大佬給出的解決方案是這樣的 就是在專案中刪除掉.svn重新建立。後來我發現我的是這樣的 找不到對應的檔案,後來,
osgEarth的Rex引擎原理分析(十二)rex地理資訊引擎的四樑八柱
目標:(九)中問題11 在(九)中建立rex引擎節點時,會呼叫osgEarth::TerrainEngineNode的建構函式,該函式負責設定rex引擎的名稱、id、著色器和其它一些變數設定,還會新增地形_terrain子節點。 rex引擎的四樑八柱是從這裡開始的 osgEarth/Ma
ElasticSearch最佳入門實踐(七十二)Java 實戰 - 對員工資訊進行復雜的搜尋操作
需求: (1)搜尋職位中包含technique的員工 (2)同時要求age在30到40歲之間 (3)分頁查詢,查詢第一頁 1、構建員工資訊 public class EmployeeSearchApp { public static void main
搭建自己的部落格(二十二):通過ajax提交評論資訊,並增加公式編輯功能
編輯功能使用到了ckeditor的MathJax元件。ajax提交評論可以不用重新整理瀏覽器。 1、變化的部分 2、上程式碼: ul.blog-types,ul.blog-dates { list-style-type: none; } div.blog:no
一個故事貫穿設計模式(二十一)中介者模式
這裡記錄的是中介者模式。 在解耦上面具有重要的意義。 包結構: 類結構: 測試入口: package com.automannn.design_mode.mediator.test; import com.automannn.design
2016年第二十二屆全國青少年資訊學奧林匹克聯賽初賽普及組C++詳細答案
題目 題解 一、單選題 1 D Powerpoint(幻燈片)、Excel(電子表格)、Word(電子文件)是微軟公司辦公套件Microsoft Office最重要的三個軟體。 Acorbat Rea
Linux 使用者認證資訊及更改使用者密碼資訊
#####使用者認證資訊#### /etc/shadows ###記錄使用者認證資訊 該檔案一共九列: 使用者名稱稱:使用者密碼:使用者密碼最後一次被更改的時間:使用者密碼最短有效期:使用者密碼最長有效期:密碼警告期限:使用者非活躍天數:使用者到期日:使
【譯】你不知道的 Chrome 除錯工具技巧 第十二天:忍者日誌列印!(the ninja logs)
特別宣告 本文是作者 Tomek Sułkowski 釋出在 medium 上的一個系列。據作者透露一共有 24 篇,一直更新到 12 月 24 日 版權歸原作者所有。 作者在Twitter上推薦我們的中文翻譯啦,截圖在最後 譯者在翻譯前已經和作者溝通得到了翻譯整個系列的授權。 為了不影響大家閱讀,授權
(十二)springboot中shiro的使用
一、引入maven配置 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spr