Ⅰ shiro技術四大組件和運行原理是什麼
subject:主體,可以是用戶也可以是程序,主體要訪問系統,系統需要對主體進行認證、授權。
securityManager:安全管理器,主體進行認證和授權都是通過securityManager進行。
authenticator:認證器,主體進行認證最終通過authenticator進行的。
authorizer:授權器,主體進行授權最終通過authorizer進行的。
認證執行流程
1、通過ini配置文件創建securityManager
2、調用subject.login方法主體提交認證,提交的token
3、securityManager進行認證,securityManager最終由MolarRealmAuthenticator進行認證。
4、MolarRealmAuthenticator調用IniRealm(給realm傳入token) 去ini配置文件中查詢用戶信息
5、IniRealm根據輸入的token(UsernamePasswordToken)從 shiro.ini查詢用戶信息,根據賬號查詢用戶信息(賬號和密碼)
如果查詢到用戶信息,就給MolarRealmAuthenticator返回用戶信息(賬號和密碼)
如果查詢不到,就給MolarRealmAuthenticator返回null
6、MolarRealmAuthenticator接收IniRealm返回Authentication認證信息
如果返回的認證信息是null,MolarRealmAuthenticator拋出異常
Ⅱ zeppelin 0.10.0版本 配置登錄用戶
這個版本不需要修改zeppelin-site.xml文件
只需要mv shiro.ini.template shiro.ini這個文件
vi shiro.ini 把下面的注釋取消
#admin = password1, admin
重新啟動,完活
如果java 客戶端連接,需要調用ZeppelinClient的login方法
Ⅲ shiro 為什麼用ini作為配置文件
開發者是這么設計的,坦白說,確實不太方便,不過與框架整合時,基本上都不再創建ini配置文件,如與spring整合,直接放到spring中配置bean