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

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線(xiàn):400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 Shiro框架面試題

Shiro框架面試題

更新時(shí)間:2021-07-29 17:07:17 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1081次

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

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

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

2.Shiro主要的組件?

答:(1)SecurityManager:典型的Facade,Shiro通過(guò)它對(duì)外提供安全管理的各種服務(wù);(2)Authenticator:對(duì)“Who are you?”進(jìn)行核實(shí)。通常涉及用戶(hù)名和密碼。這個(gè)組件負(fù)責(zé)收集principals和credentials,并將它們提交給應(yīng)用系統(tǒng)。如果提交的credentials跟應(yīng)用系統(tǒng)中提供的credentials吻合,就能夠繼續(xù)訪(fǎng)問(wèn),否則需要重新提交principals和credentials,或者直接終止訪(fǎng)問(wèn);(3)Authorizer:身份份驗(yàn)證通過(guò)后,由這個(gè)組件對(duì)登錄人員進(jìn)行訪(fǎng)問(wèn)控制的篩查,比如“who can do what”,或者“who can do which actions”。Shiro采用“基于Realm”的方法,即用戶(hù)(又稱(chēng)Subject)、用戶(hù)組、角色和permission的聚合體;(4)Session Manager:這個(gè)組件保證了異構(gòu)客戶(hù)端的訪(fǎng)問(wèn),配置簡(jiǎn)單。它是基于POJO/J2SE的,不跟任何的客戶(hù)端或者協(xié)議綁定

3.Shiro運(yùn)行原理是什么?

答:(1)Application Code:應(yīng)用程序代碼,就是我們自己的編碼,如果在程序中需要進(jìn)行權(quán)限控制,需要調(diào)用Subject的API;(2)Subject:主體代表了當(dāng)前用戶(hù)。所有的Subject都綁定到Security Manager,與Subject的所有交互都會(huì)委托給Security Manager,可以將Subject當(dāng)成一個(gè)門(mén)面,而真正執(zhí)行者是Security Manager;(3)Security Manage:安全管理器,所有與安全有關(guān)的操作都會(huì)與Security Manager交互,并且它管理所有的Subject;(4)Realm:域shiro是從Realm來(lái)獲取安全數(shù)據(jù)(用戶(hù),角色,權(quán)限)。就是說(shuō)Security Manager。

要驗(yàn)證用戶(hù)身份,那么它需要從Realm獲取相應(yīng)的用戶(hù)進(jìn)行比較以確定用戶(hù)身份是否合法;也需要從Realm得到用戶(hù)相應(yīng)的角色/權(quán)限進(jìn)行驗(yàn)證用戶(hù)是否能進(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)限控制,即只控制到菜單、按鈕、方法。粗粒度的例子比如:用戶(hù)具有用戶(hù)管理的權(quán)限,具有導(dǎo)出訂單明細(xì)的權(quán)限。

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

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ā),比如:用戶(hù)只允許修改自己創(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è)性化編程。

7.shiro的優(yōu)點(diǎn)都有什么?

答:簡(jiǎn)單的身份驗(yàn)證,支持多種數(shù)據(jù)源;對(duì)角色的簡(jiǎn)單授權(quán),支持細(xì)粒度的授權(quán);支持一級(jí)緩存,以提升應(yīng)用程序的性能;內(nèi)置基于POJO的企業(yè)會(huì)話(huà)管理,適用于web及非web環(huán)境;非常簡(jiǎn)單的API加密;不跟任何框架綁定,可以獨(dú)立運(yùn)行。

8.如何配置在Spring中配置使用Shiro?

答:首先在web.xml中配置Shiro的Filter;其次在Spring的配置文件中配置Shiro:

>配置自定義Realm:實(shí)現(xiàn)自定義認(rèn)證和授權(quán)

>配置Shiro實(shí)體類(lèi)使用的緩存策略

>配置SecurityManager

>配置保證Shiro內(nèi)部Bean聲明周期都得到執(zhí)行的Lifecycle Bean后置處理器

>配置AOP式方法級(jí)權(quán)限檢查

>配置Shiro Filter

9.比較Spring Security和Shiro?

答:相比Spring Security,Shiro在保持強(qiáng)大功能的同時(shí),使用簡(jiǎn)單性和靈活性;Spring Security即使是一個(gè)一個(gè)簡(jiǎn)單的請(qǐng)求,最少得經(jīng)過(guò)它的8個(gè)Filter;

Spring Security必須在Spring的環(huán)境下使用。

10.Shiro授權(quán)過(guò)程是怎樣的?

(1)應(yīng)用程序或框架代碼調(diào)用任何Subject的hasRole*,checkRole*,is Permitted*,或者check Permission*方法的變體,傳遞任何所需的權(quán)限;

(2)Subject的實(shí)例調(diào)用security Manager的對(duì)應(yīng)的方法,Subject實(shí)例;

(3)Security Manager調(diào)用org.apache.shiro.authz.Authorizer接口的對(duì)應(yīng)方法,默認(rèn)情況下,authorizer實(shí)例是一個(gè)Modular Realm Authorizer實(shí)例,它支持協(xié)調(diào)任何授權(quán)操作過(guò)程中的一個(gè)或多個(gè)Realm實(shí)例;

(4)每個(gè)配置好的Realm被檢查是否實(shí)現(xiàn)了相同的Authorizer接口.如果是,Realm各自的hasRole*,checkRole*,isPermitted*,或checkPermission*方法將被調(diào)用。

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Shiro框架面試題",希望對(duì)大家有幫助,想了解更多可查看Shiro視頻教程。動(dòng)力節(jié)點(diǎn)在線(xiàn)學(xué)習(xí)教程,針對(duì)沒(méi)有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門(mén)到精通,主要介紹了一些Java基礎(chǔ)的核心知識(shí),讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-04-24 搶座中
  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 女人18一级特级毛片免费看 | 精品国产高清毛片 | 97香蕉久久夜色精品国产 | 久久99国产亚洲高清 | 国产一区二区日韩欧美在线 | 偷偷狠狠的日日日日 | 国产一区二区三区免费播放 | 国产九九免费视频 | 欧美成人一区二区 | 久久影院一区 | 99精品国产久热在线观看66 | 国产极品嫩模在线观看91精品 | 黄色成人免费网站 | 青青爽国产手机在线观看免费 | 男女性高爱麻豆 | 久久国内精品自在自线观看 | 极品女神西比尔久久精品 | 日本h在线精品免费观看 | 国产综合久久久久 | 欧美日韩另类综合 | 久草免费新视频 | 日韩视频在线观看一区 | 国产探花视频在线观看 | 成人久久18网站 | 欧美日中文字幕 | 深夜免费在线视频 | 中文字幕国产欧美 | 婷婷中文网 | 欧美在线一区二区 | 亚洲欧美精品久久 | jiz中国| 久久综合色之久久综合 | 天天操夜夜操狠狠操 | 国产一区二区三区久久精品小说 | 亚洲欧美综合视频 | 亚洲日韩欧洲无码av夜夜摸 | 97精品视频在线 | 国产a国产 | 四虎海外影院 | 在线观看视频中文字幕 | 天天干天天干天天色 |