黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

第一部分 Java基礎(chǔ)
第二部分 Java進(jìn)階

Java shiro面試題

1、簡(jiǎn)單介紹一下Shiro框架?

Apache Shiro是Java的一個(gè)安全框架。使用Shiro可以非常容易的開(kāi)發(fā)出足夠好的應(yīng)用。其不僅可以用在JavaSE環(huán)境,也可以用在JavaEE環(huán)境。Shiro可以幫助我們完成功能:認(rèn)證、授權(quán)、加密、會(huì)話管理、與Web集成、緩存等。

三個(gè)核心組件:Subject,SecurityManager和Realms。

● Subject:即“當(dāng)前操作用戶”。但是在Shiro中Subject這一概念并不僅僅指人,也可以是第三方進(jìn)程、后臺(tái)帳戶(Daemon Account)或其他類(lèi)似事物。它僅僅意味著“當(dāng)前跟軟件交互的東西”。但考慮到大多數(shù)目的和用途,你可以把它認(rèn)為是Shiro的“用戶”概念。Subject代表了當(dāng)前用戶的安全操作。

● SecurityManager:它是管理所有用戶的安全操作,是Shiro框架的核心,典型的Facade模式。Shiro通過(guò)SecurityManager來(lái)管理內(nèi)部組件實(shí)例,并通過(guò)它來(lái)提供安全管理的各種服務(wù)。

● Realm:Realm充當(dāng)了Shiro與應(yīng)用安全數(shù)據(jù)間的“橋梁”或者“連接器”。也就是說(shuō),當(dāng)對(duì)用戶執(zhí)行認(rèn)證(登錄)和授權(quán)(訪問(wèn)控制)驗(yàn)證時(shí),Shiro會(huì)從應(yīng)用配置的Realm中查找用戶及其權(quán)限信息。

2、Shiro主要的四個(gè)組件?

● SecurityManager

典型的Facade,Shiro通過(guò)它對(duì)外提供安全管理的各種服務(wù)。

● Authenticator

對(duì)“Who are you?”進(jìn)行核實(shí)。通常涉及用戶名和密碼。這個(gè)組件負(fù)責(zé)收集principals 和credentials,并將它們提交給應(yīng)用系統(tǒng)。如果提交的credentials跟應(yīng)用系統(tǒng)中提供的 credentials吻合,就能夠繼續(xù)訪問(wèn),否則需要重新提交principals和credentials,或者直 接終止訪問(wèn)。

● Authorizer

身份份驗(yàn)證通過(guò)后,由這個(gè)組件對(duì)登錄人員進(jìn)行訪問(wèn)控制的篩查,比如“who can do what”,或者“who can do which actions”。Shiro采用“基于Realm”的方法,即用戶 (又稱(chēng)Subject)、用戶組、角色和permission的聚合體。

● Session Manager

這個(gè)組件保證了異構(gòu)客戶端的訪問(wèn),配置簡(jiǎn)單。它是基于POJO/J2SE的,不跟任何的 客戶端或者協(xié)議綁定。

3、Shiro運(yùn)行原理?

● Application Code:應(yīng)用程序代碼,就是我們自己的編碼,如果在程序中需要進(jìn)行權(quán)限控制,需要調(diào)用Subject的API。

●Subject:主體代表了當(dāng)前用戶。所有的Subject都綁定到SecurityManager,與Subject的所有交互都會(huì)委托給SecurityManager,可以將Subject當(dāng)成一個(gè)門(mén)面,而真正執(zhí)行者是SecurityManager。

● SecurityManage:安全管理器,所有與安全有關(guān)的操作都會(huì)與SecurityManager交互,并且它管理所有的Subject。

● Realm:域shiro是從Realm來(lái)獲取安全數(shù)據(jù)(用戶,角色,權(quán)限)。就是說(shuō)SecurityManager

要驗(yàn)證用戶身份,那么它需要從Realm獲取相應(yīng)的用戶進(jìn)行比較以確定用戶身份是否 合法;也需要從Realm得到用戶相應(yīng)的角色/權(quán)限進(jìn)行驗(yàn)證用戶是否能進(jìn)行操作;可以 把Realm看成DataSource,即安全數(shù)據(jù)源。

4、Shiro的四種權(quán)限控制方式?

● url級(jí)別權(quán)限控制

● 方法注解權(quán)限控制

● 代碼級(jí)別權(quán)限控制

5、什么是粗顆粒和細(xì)顆粒權(quán)限?

對(duì)資源類(lèi)型的管理稱(chēng)為粗顆粒度權(quán)限控制,即只控制到菜單、按鈕、方法。粗粒度的例子比如:用戶具有用戶管理的權(quán)限,具有導(dǎo)出訂單明細(xì)的權(quán)限。

對(duì)資源實(shí)例的控制稱(chēng)為細(xì)顆粒度權(quán)限管理,即控制到數(shù)據(jù)級(jí)別的權(quán)限,比如:用戶只允許修改本部門(mén)的員工信息,用戶只允許導(dǎo)出自己創(chuàng)建的訂單明細(xì)。

● 總結(jié):

粗顆粒權(quán)限:針對(duì)url鏈接的控制。

細(xì)顆粒權(quán)限:針對(duì)數(shù)據(jù)級(jí)別的控制。

比如:衛(wèi)生局可以查詢所有用戶,衛(wèi)生室只可以查詢本單位的用戶。

6、粗顆粒和細(xì)顆粒如何授權(quán)?

對(duì)于粗顆粒度的授權(quán)可以很容易做系統(tǒng)架構(gòu)級(jí)別的功能,即系統(tǒng)功能操作使用統(tǒng)一的粗顆粒度的權(quán)限管理。對(duì)于細(xì)顆粒度的授權(quán)不建議做成系統(tǒng)架構(gòu)級(jí)別的功能,因?yàn)閷?duì)數(shù)據(jù)級(jí)別的控制是系統(tǒng)的業(yè)務(wù)需求,隨著業(yè)務(wù)需求的變更業(yè)務(wù)功能變化的可能性很大,建議對(duì)數(shù)據(jù)級(jí)別的權(quán)限控制在業(yè)務(wù)層個(gè)性化開(kāi)發(fā),比如:用戶只允許修改自己創(chuàng)建的商品信息可以在service接口添加校驗(yàn)實(shí)現(xiàn),service接口需要傳入當(dāng)前操作人的標(biāo)識(shí),與商品信息創(chuàng)建人標(biāo)識(shí)對(duì)比,不一致則不允許修改商品信息。

粗顆粒權(quán)限:可以使用過(guò)慮器統(tǒng)一攔截url。

細(xì)顆粒權(quán)限:在service中控制,在程序級(jí)別來(lái)控制,個(gè)性化編程。

全部教程
主站蜘蛛池模板: 黄色小网站在线观看 | 狠狠丁香 | 真实国产精品视频国产网 | 久久永久免费 | 亚洲国产男人本色在线观看的a站 | 在线有码 | 亚洲黄色免费 | 中文字幕精品亚洲无线码二区 | 涩涩污| yellow在线免费视频 | 丁香激情六月天 | 91青草久久久久久清纯 | 特级毛片视频在线 | 国产日韩欧美视频在线观看 | 欧美日韩在线吹潮视频 | 亚洲欧美日韩综合二区三区 | 就操在线 | 国产精品免费大片 | 一卡二卡3卡四卡网站精品国 | 日本一区二区三区免费在线观看 | 色狠狠狠色噜噜噜综合网 | 日批软件在线观看 | 日韩精品一区二区三区中文 | 国产综合视频在线 | 免费人成年短视频在线观看网站 | 欧洲在线 | 成人美女隐私免费 | 天天爽视频 | 中文字幕一区在线播放 | 欧美日韩在线成人看片a | 天天摸天天碰中文字幕 | 日本在线亚州精品视频在线 | 午夜h视频| 成年人午夜在线 | 在线播放国产一区 | 亚洲另类视频在线观看 | 最近中文免费字幕在线播放 | 日韩一区二区三区四区区区 | 国产丝袜第一页 | 亚洲美女综合网 | 日本高清视频wwww色 |