整合shiro 時完成許可權認證和授權

2021-09-19 05:12:05 字數 2475 閱讀 9416

自定義realm

public

class

cunstomrealm

extends

authorizingrealm

//授權 --根據安全資料返回使用者所具有的所有許可權

protected authorizationinfo dogetauthorizationinfo

(principalcollection principalcollection)

} ******authorizationinfo.

setroles

(roles)

; ******authorizationinfo.

setstringpermissions

(perms)

;return ******authorizationinfo;

}//認證

protected authenticationinfo dogetauthenticationinfo

(authenticationtoken authenticationtoken) throws authenticationexception

//返回 null

return

null;}

}

shiroconfig配置類

@configuration

public

class

shiroconfig

//2. 建立安全管理器

@bean

public securitymanager getsecuritymanager

(cunstomrealm cunstomrealm)

//3.配置shiro 過濾工廠

@bean

public shirofilte***ctorybean shirofilte***ctorybean

(securitymanager securitymanager)//

4.開啟對shiro 註解支援

@bean

public authorizationattributesourceadvisor authorizationattributesourceadvisor

(securitymanager securitymanager)

}

controlller

@restcontroller

public

class

usercontroller

//新增

(value =

"/user"

,method = requestmethod.

post

)public string add()

//查詢

(value =

"/user"

,method = requestmethod.

get)

public string find()

//更新

(value =

"/user/"

,method = requestmethod.

get)

public string update

(string id)

//刪除

(value =

"/user/"

,method = requestmethod.

delete

)public string delete()

//使用者登入

(value=

"/login"

)public string login

(string username,string password)

catch

(exception e)

}(value=

"/unauth"

)public string unauth

(int code)

}

啟動類

(scanbasepackages =

"cn.wx"

)@entityscan

("實體包"

)public

class

@bean

public openentitymanagerinviewfilter openentitymanagerinviewfilter()

}在進行認證授權測試時,報異常,最終 定位到 realm中獲取密碼時 選用的方法 不同

如下所示:

string password = usernamepasswordtoken.getpassword().tostring(); 錯誤

string password = new string(usernamepasswordtoken.getpassword());  /正確

Shiro許可權認證

shiro的授權以及許可權 關係圖 我們需要在service層中先寫好方法 public inte ce shirouserservice然後imp繼承 service shirouserservice public class shirouserserviceimpl implements shi...

Shiro許可權認證Web

目錄 shiro內建的過濾器講解 filter配置路徑 shiro 資料安全之資料加解密 1.核心過濾器類 defaultfilter,配置哪個路徑對應哪個 進行處理 2.authc org.apache.shiro.web.filter.authc.formauthenticationfilter...

Shiro許可權管理(二) 認證

時隔這麼久終於有時間更新了,今天和大家分享一下shiro的原理。我認為無論是shiro也好,還是其他安全框架也好,其功能主要就分為三部分 認證 授權 加密。下面我們來詳細說明shiro具體是如何實現的。講原理當然離不開結構圖,我們先來看一下shiro的整體結構。由shiro的結構圖我們可以看出shi...