大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

面試題首頁 > Java權限管理框架面試題

Shiro面試題

001什么是權限?

①權限管理:一般指根據系統設置的安全策略或者安全規則,用戶可以訪問而且只能訪問自己被授權的資源,不多不少。權限管理幾乎出現在任何系統里面,只要有用戶和密碼的系統。
②權限管理分類:
訪問權限:管理員有增刪改查權限,普通用戶只有查詢權限。
數據權限:管理員可以看到所有員工信息,但是員工只能看到自己的信息。

002什么是認證?

身份認證,就是判斷一個用戶是否為合法用戶的處理過程。最常用的簡單身份認證方式是系統通過核對用戶輸入的用戶名和密碼,看其是否與系統中存儲的該用戶的用戶名和密碼一致,來判斷用戶身份是否正確。例如:密碼登錄,手機短信驗證、三方授權等。

003Shiro框架用過嗎?

Apache Shiro是一個強大且易用的Java安全框架,能夠非常清晰的處理認證、授權、管理會話以及密碼加密。使用Shiro的易于理解的API,您可以快速、輕松地獲得任何應用程序,從最小的移動應用程序到最大的網絡和企業應用程序。

004Shiro的優點?

1.簡單的身份驗證,支持多種數據源
2.對角色的簡單授權,支持細粒度的授權(方法)
3.支持一級緩存,以提升應用程序的性能
4.內置基于POJO的企業會話管理,適用于web及非web環境
5.非常簡單的API加密
6.不跟任何框架綁定,可以獨立運行

005Shiro的核心組件?

Subject:主體,代表了當前“用戶”,這個用戶不一定是一個具體的人,與當前應用交互的任何東西都是Subject,如爬蟲、機器人等;即一個抽象概念;所有Subject都綁定到SecurityManager,與Subject的所有交互都會委托給SecurityManager;可以把Subject認為是一個門面;SecurityManager才是實際的執行者。
SecurityManager:安全管理器,即所有與安全有關的操作都會與SecurityManager交互,且它管理著所有Subject;可以看出它是shiro的核心, SecurityManager相當于spring mvc中的dispatcherServlet前端控制器。
Realm:域,shiro從Realm獲取安全數據(如用戶、角色、權限),就是說SecurityManager要驗證用戶身份,那么它需要從Realm獲取相應的用戶進行比較以確定用戶身份是否合法;也需要從Realm得到用戶相應的角色/權限進行驗證用戶是否能進行操作;可以把Realm看成DataSource,即安全數據源。

006Shiro認證執行流程?

1)通過ini配置文件創建securityManager
2)調用subject.login方法主體提交認證,提交的token
3)securityManager進行認證,securityManager最終由ModularRealmAuthenticator進行認證。
4)ModularRealmAuthenticator調用IniRealm(給realm傳入token) 去ini配置文件中查詢用戶信息
5)IniRealm根據輸入的token(UsernamePasswordToken)從 shiro.ini查詢用戶信息,根據賬號查詢用戶信息(賬號和密碼)
     如果查詢到用戶信息,就給ModularRealmAuthenticator返回用戶信息(賬號和密碼)
     如果查詢不到,就給ModularRealmAuthenticator返回null
6)ModularRealmAuthenticator接收IniRealm返回Authentication認證信息;
如果返回的認證信息是null,ModularRealmAuthenticator拋出異常(org.apache.shiro.authc.UnknownAccountException)
如果返回的認證信息不是null(說明inirealm找到了用戶),對IniRealm返回用戶密碼 (在ini文件中存在)和 token中的密碼 進行對比,如果不一致拋出異常(org.apache.shiro.authc.IncorrectCredentialsException)

007Shiro授權執行流程?

1)對subject進行授權,調用方法isPermitted("permission串")
2)SecurityManager執行授權,通過ModularRealmAuthorizer執行授權
3)ModularRealmAuthorizer執行realm(自定義的Realm)從數據庫查詢權限數據
調用realm的授權方法:doGetAuthorizationInfo
4)realm從數據庫查詢權限數據,返回ModularRealmAuthorizer
5)ModularRealmAuthorizer調用PermissionResolver進行權限串比對
6)如果比對后,isPermitted中"permission串"在realm查詢到權限數據中,說明用戶訪問permission串有權限,否則 沒有權限,拋出異常。

008Shiro注解有哪些?

1.@RequiresAuthentication : 表示當前Subject已經通過login進行了身份驗證;即 Subject.isAuthenticated() 返回 true
2.@RequiresUser : 表示當前Subject 已經身份驗證或者通過記住我登錄的
3.@RequiresGuest : 表示當前Subject沒有身份驗證或通過記住我登陸過,即是游客身份
4.@RequiresRoles(value = { “admin”, “user” }, logical = Logical.AND) : 表示當前 Subject 需要角色 admin和user
5.@RequiresPermissions(value = { “user:a”, “user:b” }, logical = Logical.OR) : 表示當前 Subject 需要權限 user:a 或 user:b

目錄

返回頂部
主站蜘蛛池模板: 久久久精品视频在线观看 | 成人在线短视频 | 免费人成黄页网站在线观看 | 日本免费一区视频 | 狠狠色丁香久久婷婷综合五月 | 国产欧美一区二区久久 | 亚洲欧美高清在线 | 日韩欧美一区二区久久黑人 | 毛片黄片一级片 | 国产嘿咻 | 91福利视频网站 | 亚洲精品高清在线一区二区三区 | 国产女人又爽又大 | 无遮挡一级毛片呦女视频 | 国内精品久久久久久不卡影院 | 高清国产一级毛片国语 | 四虎影院在线免费播放 | 香蕉久久国产 | 中国免费毛片 | 牛人盗摄一区二区三区视频 | 成人做爰毛片免费视频 | 一区二区三区久久 | 国产精品视频久久久久 | 高清成人综合 | 日本黄色小视频在线观看 | 亚洲欧美日韩综合在线 | 免费日本黄色网址 | 免费国产不卡午夜福在线观看 | 午夜免费体验区 | 在线视频 二区 | 国产精品乱码免费一区二区 | 欧美性大战久久久久久久蜜桃 | 亚洲欧美另类在线视频 | 日韩毛片免费线上观看 | 毛片黄片视频 | 久久青草免费线观最新 | 一区不卡在线观看 | 国产成人精品曰本亚洲77美色 | 午夜毛毛片| 自拍 亚洲 欧美 | 一级毛片日韩a欧美 |