-
查看全部
-
@Test public?void?testAuthentication(){ ????IniRealm?iniRealm?=?new?IniRealm("classpath:user.ini"); ????//1.創(chuàng)建SecurityManager ????DefaultSecurityManager?defaultSecurityManager?=?new?DefaultSecurityManager(); ????defaultSecurityManager.setRealm(iniRealm); ????//2.主題提交認(rèn)證請求 ????SecurityUtils.setSecurityManager(defaultSecurityManager); ????Subject?subject?=?SecurityUtils.getSubject(); ????UsernamePasswordToken?token?=?new?UsernamePasswordToken("wakeng","123456"); ????subject.login(token); ????System.out.println("login?isAuthenticated?:?"+subject.isAuthenticated()); ????subject.checkRole("admin"); ????subject.checkPermission("user:updata"); ????subject.logout(); ????System.out.println("logout?isAuthenticated?:?"+subject.isAuthenticated()); }
[users] ????wakeng=123456,admin [roles] ????admin=user:delete,user:updata
查看全部 -
simpleAccountRealm.addAccount("wakeng","123456","admin","user");
查看全部 -
shiro認(rèn)證過程:創(chuàng)建SecurityManager ->?主體提交認(rèn)證 ->?SecurityManager認(rèn)證 -> Authenticator認(rèn)證 ->?Realm驗(yàn)證
查看全部 -
Secunrity ?Manager管理著其他組件的實(shí)例
????1、Authenticator(認(rèn)證器):管理登錄、登出。
????2、Authorizer (授權(quán)器):賦予主體權(quán)限。
????3、Session Manager(Session管理器):Shiro'自己實(shí)現(xiàn)的管理機(jī)制,不借用任何容器使用Session。
????4、Session Dao(提供Session的操作): 主要有:增、刪、改、查。
????5、Cache Manager(緩存管理器):角色和權(quán)限數(shù)據(jù)緩存。
????6、Pauggable Rwalms(數(shù)據(jù)庫和數(shù)據(jù)源的橋梁):shiro獲取數(shù)據(jù)是通過rwalms來獲取。
流程:
????1、主體提交請求到Secunrity ?Manager。
????2、Secunrity ?Manager調(diào)用Authenticator進(jìn)行認(rèn)證。(Authenticator認(rèn)證獲取數(shù)據(jù)是通過rwalms獲取的,再從數(shù)據(jù)源中獲取信息)數(shù)據(jù)源信息和主體提交的信息作比對。
????3、(Authorizer授權(quán)獲取數(shù)據(jù)是通過rwalms獲取的,再從數(shù)據(jù)源中獲取信息)數(shù)據(jù)源信息和主體提交的信息作比對。
????4、數(shù)據(jù)加密
Secunrity ?Manager管理著其他組件的實(shí)例
????1、Authenticator(認(rèn)證器):管理登錄、登出。
????2、Authorizer (授權(quán)器):賦予主體權(quán)限。
????3、Session Manager(Session管理器):Shiro'自己實(shí)現(xiàn)的管理機(jī)制,不借用任何容器使用Session。
????4、Session Dao(提供Session的操作): 主要有:增、刪、改、查。
????5、Cache Manager(緩存管理器):角色和權(quán)限數(shù)據(jù)緩存。
????6、Pauggable Rwalms(數(shù)據(jù)庫和數(shù)據(jù)源的橋梁):shiro獲取數(shù)據(jù)是通過rwalms來獲取。
流程:
????1、主體提交請求到Secunrity ?Manager。
????2、Secunrity ?Manager調(diào)用Authenticator進(jìn)行認(rèn)證。(Authenticator認(rèn)證獲取數(shù)據(jù)是通過realms獲取的,再從數(shù)據(jù)源中獲取信息)數(shù)據(jù)源信息和主體提交的信息作比對。
????3、(Authorizer授權(quán)獲取數(shù)據(jù)是通過realms獲取的,再從數(shù)據(jù)源中獲取信息)數(shù)據(jù)源信息和主體提交的信息作比對。
????4、數(shù)據(jù)加密
查看全部 -
Shiro 與 Spring Security比較
查看全部 -
創(chuàng)建SecurityManager對象,也就是構(gòu)建SecurityManager環(huán)境--》主題計(jì)較認(rèn)證請求給SecurityManager,用Authenticator來認(rèn)證,需要用Realm來驗(yàn)證數(shù)據(jù)
查看全部 -
shiro的整體架構(gòu)
查看全部 -
shiro和Spring Security比較
查看全部 -
shiro的用處和簡介
查看全部 -
查看全部
-
shiro授權(quán):創(chuàng)建securityManager ->?主體授權(quán) ->?securityManager授權(quán) ->?authorizer授權(quán) -> Realm?獲取角色權(quán)限數(shù)據(jù)
查看全部 -
shiro認(rèn)證過程:創(chuàng)建SecurityManager ->?主體提交認(rèn)證 ->?SecurityManager認(rèn)證 -> Authenticator認(rèn)證 ->?Realm驗(yàn)證
查看全部 -
shiro?整體架構(gòu)
查看全部 -
shiro?與?spring security?比較
查看全部
舉報(bào)