shiro——二

簡單地說一下shiro四個(gè)基本核心功能:

Authentication(認(rèn)證)

過程可以分為三步:

1比藻、Collect the user’s identifying information, calledprincipals, and supporting proof of identity, calledcredentials.(收集用戶的標(biāo)識(shí)信息,被稱為主體倘屹,并支持身份證明银亲,稱為憑證。)

2纽匙、Submit the principals and credentials to the system.(向系統(tǒng)提交主體和憑證务蝠。)

3、If the submitted credentials match what the system expects for that user identity (principal), the user is considered authenticated. If they don’t match, the user is not considered authenticated.(如果提交的憑證與系統(tǒng)期望的用戶標(biāo)識(shí)(主體)匹配烛缔,那么用戶就被認(rèn)為是經(jīng)過身份驗(yàn)證的馏段。如果它們不匹配,則用戶不被認(rèn)為是經(jīng)過身份驗(yàn)證的践瓷。)

Subject subject = SecurityUtils.getSubject();

AuthenticationToken authenticationToken = new MyUsernamePasswordToken(userName, password, verifyCode, rememberMe);

public String login() {

try/catch

}

Authentication(認(rèn)證)之后院喜,用戶可以進(jìn)入系統(tǒng),但是当窗,能做哪些操作呢够坐?具體的就需要進(jìn)一步判斷。

Authorization(授權(quán)):

可以分為role(角色)與permission(權(quán)限)驗(yàn)證:

role check:

if ( subject.hasRole(“administrator”) ) {

//show the ‘Create User’ button

} else {

//grey-out the button?

}

permission check:

if ( subject.isPermitted(“user:create”) ) {

//show the ‘Create User’ button

} else {

//grey-out the button?

}

role(角色)驗(yàn)證,在運(yùn)行時(shí)不能添加或者刪除元咙。permission(權(quán)限)驗(yàn)證更加靈活梯影,具有更細(xì)粒度,自己需要什么可以寫什么庶香。

Session Management(會(huì)話管理):

shiro 的session(會(huì)話)是獨(dú)立于容器的甲棍,也就是說,不再需要專門的servlet與EJB容器了赶掖。對于企業(yè)緩存(enterprise caches)感猛、關(guān)系數(shù)據(jù)庫(relational databases)、NoSQL等可以一次性配置會(huì)話集群奢赂,不需要根據(jù)部署應(yīng)用程序的方式重新配置應(yīng)用程序陪白。

Session session = subject.getSession();

Cryptography(加密):

簡化利用JDK的密碼支持使得數(shù)據(jù)混淆加密。使用的是hash(哈希)與ciphers(密碼)膳灶。

之前使用MD5的加密方式如下:

try {

MessageDigest md = MessageDigest.getInstance("MD5");

md.digest(bytes);

byte[] hashed = md.digest();

} catch (NoSuchAlgorithmException e) {

e.printStackTrace();

}

使用shiro之后:

String hex = new Md5Hash(myFile).toHex();

怎么樣咱士?簡單了太多了吧,一句話就搞定了轧钓。簡單粗暴序厉,代碼也更優(yōu)雅。

使用256-bit AES加密毕箍,shiro下代碼如下:

AesCipherService cipherService = new AesCipherService();

cipherService.setKeySize(256);


推薦微信公眾號(hào)【排骨肉段】弛房,記錄日常的美好。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末而柑,一起剝皮案震驚了整個(gè)濱河市文捶,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌牺堰,老刑警劉巖拄轻,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颅围,死亡現(xiàn)場離奇詭異伟葫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)院促,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門筏养,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人常拓,你說我怎么就攤上這事渐溶。” “怎么了弄抬?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵茎辐,是天一觀的道長。 經(jīng)常有香客問我,道長拖陆,這世上最難降的妖魔是什么弛槐? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮依啰,結(jié)果婚禮上乎串,老公的妹妹穿的比我還像新娘。我一直安慰自己速警,他們只是感情好叹誉,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闷旧,像睡著了一般长豁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上忙灼,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天蕉斜,我揣著相機(jī)與錄音,去河邊找鬼缀棍。 笑死宅此,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的爬范。 我是一名探鬼主播父腕,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼青瀑!你這毒婦竟也來了璧亮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤斥难,失蹤者是張志新(化名)和其女友劉穎枝嘶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哑诊,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡群扶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了镀裤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竞阐。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖暑劝,靈堂內(nèi)的尸體忽然破棺而出骆莹,到底是詐尸還是另有隱情,我是刑警寧澤担猛,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布幕垦,位于F島的核電站丢氢,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏先改。R本人自食惡果不足惜卖丸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盏道。 院中可真熱鬧稍浆,春花似錦、人聲如沸猜嘱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朗伶。三九已至弦撩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間论皆,已是汗流浹背益楼。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留点晴,地道東北人感凤。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像粒督,于是被迫代替她去往敵國和親陪竿。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 一屠橄、shiro的工作流程 項(xiàng)目每次啟動(dòng)時(shí)族跛,根據(jù)shiroConfig的配置,將相應(yīng)權(quán)限url加載到shiro框架中...
    夏日橘子冰閱讀 1,898評論 4 2
  • 最終demo 開始之前锐墙,我們先造一些數(shù)據(jù): 數(shù)據(jù)有了礁哄,下面開始Shrio的配置學(xué)習(xí)。開始之前先添加Shiro依賴 ...
    憂郁的小碼仔閱讀 8,672評論 11 21
  • Apache Shiro Apache Shiro 是一個(gè)強(qiáng)大而靈活的開源安全框架溪北,它干凈利落地處理身份認(rèn)證桐绒,授權(quán)...
    羅志贇閱讀 3,224評論 1 49
  • 一、架構(gòu) 要學(xué)習(xí)如何使用Shiro必須先從它的架構(gòu)談起刻盐,作為一款安全框架Shiro的設(shè)計(jì)相當(dāng)精妙掏膏。Shiro的應(yīng)用...
    ITsupuerlady閱讀 3,531評論 4 32
  • 在很多年前的夏天劳翰,我喜歡上了一個(gè)姑娘敦锌。她是海歸,長得比湯唯還要好看佳簸。那時(shí)候乙墙,她是高大上設(shè)計(jì)師颖变,我是矮窮矬程序員。 ...
    b77723ecf638閱讀 229評論 0 0