1.新增依賴
org.crazycake<
/groupid>
shiro-redis<
/artifactid>
3.1.0
<
/version>
<
/dependency>
2.配置檔案
#redis伺服器位址
spring.redis.host=localhost
#redis伺服器連線埠
spring.redis.port=
6379
#redis伺服器連線密碼
#spring.redis.password=foobared
#連線池最大連線數
spring.redis.lettuce.pool.max-active=
8#連線池最大阻塞等待時間
spring.redis.lettuce.pool.max-wait=-1
#連線池最大空閒連線
spring.redis.lettuce.pool.max-idle=
8#連線池最小空閒連線
spring.redis.lettuce.pool.min-idle=
0#redis伺服器超時時間
spring.redis.timeout=
5000
3.改造shiroconfig
@value
("$"
)private string host;
@value
("$"
)private
int port;
@value
("$"
)private
int timeout;
@bean
public myshirorealm myshirorealm()
@bean
public securitymanager securitymanager()
@bean
public shirofilte***ctorybean shirofilte***ctorybean
(securitymanager securitymanager)}/
/配置認證訪問
filterchaindefinitionmap.
put(
"/**"
,"authc");
//必須放在過濾器的最後面
shirofilte***ctory.
setfilterchaindefinitionmap
(filterchaindefinitionmap)
;return shirofilte***ctory;
}
4.測試它會報user轉換錯誤別慌!新增乙個熱部署包來提高效率先!!!
完成後再redis中檢視資訊如下:
加上"鹽"試試
@test
public
void
tes***5hash()
設倆個介面:
public
inte***ce
passwordservice
public
inte***ce
credentialsmatcher
1.在service新增加密方法:
@override
public string encryptpassword
(object plaintextpassword)
throws illegalargumentexception
2.在shiroconfig中注入myshirorealm
@bean
public hashedcredentialsmatcher hashedcredentialsmatcher()
3.修改返回身份資訊的**
@override
protected authenticationinfo dogetauthenticationinfo
(authenticationtoken authenticationtoken)
throws authenticationexception if(
"lock"
.equals
(operations.
get(shiro_is_lock+usrname)))
user user = userservice.
getuserbyusername
(usrname);if
(user==null)
if(user.
getusrflag()
==null || user.
getusrflag()
.intvalue()
==0) ******authenticationinfo info =
new******authenticationinfo
(user,user.
getusrpassword()
, bytesource.util.
bytes
("czkt"),
getname()
);return info;
}
**這樣我們在去測試看看就好了!我們下次見~** Shiro會話管理和加密
會話管理 shiro提供了完整的企業級會話管理功能,不依賴於底層容器,不管是j2se還是j2ee環境都可以使用,提供了會話管理,會話事件監聽,會話事件監聽,會話儲存 持久化,容器無關的集群,失效 過期支援,對web的透明支援,sso單點登入的支援等特性.會話管理api subject.getsess...
shiro加密簡單實現
1 新增shiro依賴 定義shiro的版本號 1.2.3 加入shiro的依賴 org.apache.shiro shiro core org.apache.shiro shiro web org.apache.shiro shiro spring org.apache.shiro shiro a...
Shiro會話管理知識以及使用
使用者訪問應用時保持的連線關係,在多次互動中應用能夠識別出當前訪問的使用者是誰,且可以在多次互動中儲存一些資料,當主體成功login後就會建立乙個會話 概述 會話管理器管理著應用中所有 subject的會話的建立 維護 刪除 失效 驗證等工作 概述 會話 用於監聽會話建立 過期及停止事件,通常實現s...