1. 程式人生 > >自定義realm shiro加密配置

自定義realm shiro加密配置

@Override
	protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken)
			throws AuthenticationException {
		UsernamePasswordToken token = (UsernamePasswordToken) authcToken;
		User user = loginService.findUserByUsername(token.getUsername());
		if (user != null) {
			// 不加密認證
			// return new SimpleAuthenticationInfo(new
			// ShiroUser(user.getId(),user.getUsername()),user.getPassword(),getName());
			// 加密認證
			byte[] salt = Encodes.decodeHex(user.getSalt());
			return new SimpleAuthenticationInfo(new ShiroUser(user.getId(), user.getUsername()), user.getPassword(),
					ByteSource.Util.bytes(salt), getName());
		} else {
			return null;
		}
	}
	
	//指定shiro密碼加密方式,shiro用password和salt加密後得到的字串和資料庫中的字串對比
	@PostConstruct
	public void initCredentialsMatcher() {
		HashedCredentialsMatcher matcher = new HashedCredentialsMatcher("SHA-1");
		setCredentialsMatcher(matcher);
	}

相關推薦

定義realm shiro加密配置

@Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authcToken) throws AuthenticationException { Use

ssm整合shiro通過定義Realm實現認證登入、許可權處理、定義role攔截、MD5加密

整合後實現功能 1.登入認證 2.許可權處理 3.自定義role攔截 4.md5加密 ssm整合shiro步驟 先看看整合完成後的專案結構 新建一個maven專案 配置pom.xml檔案 <?xml version="1.0" encoding="UT

使用Spring配置shiro時,定義Realm中屬性無法使用註解注入解決辦法

先來看問題 糾結了幾個小時終於找到了問題所在,因為shiro的realm屬於Filter,簡單說就是初始化realm時,spring還未載入相關業務Bean,那麼解決辦法就是將spring

shiro定義realm(五)

cm4 dsm cbc vdh fab strong vts gn3 aqi 上一節介紹了realm的作用: realm:需要根據token中的身份信息去查詢數據庫(入門程序使用ini配置文件),如果查到用戶返回認證信息,如果查詢不到返回null。token就相當於是對用戶

shiro定義realm支持MD5算法(六)

svi vfs ltm vold rcc TTT sym fio owa 1.1 散列算法 通常需要對密碼 進行散列,常用的有md5、sha, 對md5密碼,如果知道散列後的值可以通過窮舉算法,得到md5密碼對應的明文。 建議對md5進行散列時加salt(鹽),

shiro授權及定義realm授權(七)

qbc mtp jbd red es6 sil llb wmi sin 1.授權流程 2. 三種授權方法          Shiro 支持三種方式的授權: 編程式:通過寫if/else 授權代碼塊完成: Subject subject = SecurityU

SSM+Apache shiro--定義realm

ati 定義 ppi auto word sta active 如果 ive 自定義reaml需繼承AuthorizingRealm,並重寫doGetAuthorizationInfo(用戶獲取授權信息)和doGetAuthenticationInfo(用戶獲取認證信息)兩

(3)shiro定義realm

上面一章說到shiro的認證和授權最底層就是呼叫realm的getAuthorizationInfo(獲取使用者的角色和資源)和getAuthenticationInfo(校驗賬號密碼是否正確)兩個方法。 如果我們要從資料庫中查詢使用者和他的許可權資訊,我們可以使用shiro提供給我們的JdbcRealm

shiro學習筆記(3)--定義realm、授權

一:自定義Realm 1、繼承AuthorizingRealm(因為該類中有認證、授權的抽象方法,實現簡單) public class MyRealm1 extends AuthorizingRealm{ @Override public String getName(

Shiro安全框架第四篇| Shiro定義Realm進行認證授權

  SHiro自定義Realm 首先在resource下新建user.ini 1[users] 2jiuyue=12345,admin 3[roles] 4admin=user:delete,user:update 然後測試類下新建IniRealmTest測試類,跟前面不

spring boot 整合redis+shiro定義Realm不能使用@Autowired註解

剛開始spring boot 整合shiro快取使用的是ehcache,自動注入userService如下,沒有問題 @Autowired @Lazy private SysUserService userService; 當將快取換成了redis後,該註解

shiro定義realm

  Shiro認證過程 建立SecurityManager---》主體提交認證---》SecurityManager認證---》Authenticsto認證---》Realm驗證 Shiro授權過程 建立SecurityManager---》主體授權---》ecurityManager授權

Shiro(三)——Shiro定義Realm

Realm: 域。Shiro 從從 Realm 獲取安全資料(如使用者、角色、許可權),就是說 SecurityManager 要驗證使用者身份,那麼它需要從 Realm 獲取相應的使用者進行比較以確定使用者身份是否合法;也需要從 Realm 得到使用者相應的角色 / 許可權進行驗證使用者是否能進行

ShiroShiro從小白到大神(五)-定義Realm

用資料庫的話,至少會涉及到這幾張表: 使用者表,角色表,許可權表 角色和使用者是一對多的關係 多個使用者可以擁有同一個角色 角色和許可權在這裡也是一對多的關係 一個角色可以擁有很多個許可權 資料庫表名: t_role 角色表 並插入如下資料

使用shiro進行登入校驗;定義realm的實現

在web中, 使用者輸入使用者名稱密碼登入,我們需要用這些資訊和已經註冊存在在資料庫中的賬戶資訊進行對比,判斷使用者名稱和密碼是否正確。 shiro提供了自定義realm的實現來進行處理對不同資料來源的校驗: realm就是一個安全資料來源。可以將其看作為資料庫的另一層封裝

Shiro入門6:定義realm查詢資料庫進行認證

在學習自定義Realm的時候很多人都會有這個問題: 為什麼要用Realm?自定義Realm有什麼作用? 將來實際開發需要realm從資料庫查詢資訊 Realm是什麼? 關於Realm的作用及解釋,

shiro+springboot:MyRealm(定義Realm)

import com.sinochem.erp.common.entity.Permissions; import com.sinochem.erp.common.entity.Role; import com.sinochem.erp.common.entity.Use

Shiro入門學習---使用定義Realm完成認證|練氣中期

## 寫在前面 在上一篇文章[《shiro認證流程原始碼分析--練氣初期》](https://www.cnblogs.com/bingfengdev/p/13768829.html)當中,我們簡單分析了一下shiro的認證流程。不難發現,如果我們需要使用其他資料來源的資訊完成認證操作,我們需要自定義Real

(三)定義Realm

ssi 定義 try time public getname tid vax getc 引入依賴 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/

Linux監控(添加定義監控項,配置郵件告警)

map alt 服務端 網上 send rep pad ima 觸發 一、添加自定義監控項需求:監控某臺web的80端口連接數,並出圖。步驟:1):zabbix監控中心創建監控項目2):針對該監控項目以圖形展現第一步(需要到客戶端定義腳本)[root@zhuji ~]# v