日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

身份验证和授权作为开源解决方案服务

發(fā)布時(shí)間:2023/12/3 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 身份验证和授权作为开源解决方案服务 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

通過實(shí)施身份驗(yàn)證和授權(quán)(a&a)機(jī)制為所有用戶數(shù)據(jù)設(shè)計(jì)集中式服務(wù)。 我將分享我的經(jīng)驗(yàn)并最終確定解決方案的結(jié)論。

該設(shè)計(jì)包括客戶端(Web應(yīng)用程序)和服務(wù)器(A&A中心)。

術(shù)語:


1.驗(yàn)證:

認(rèn)證是系統(tǒng)可以安全地標(biāo)識其用戶的機(jī)制。 回答問題“誰是用戶?” 身份驗(yàn)證還包括SSO(單點(diǎn)登錄)。 一種機(jī)制,使用戶能夠一次登錄并獲得所有參與資源的“免費(fèi)通行證”,而無需附加標(biāo)志。

2.授權(quán):

授權(quán)是驗(yàn)證用戶是否具有訪問某些資源或部分的角色/權(quán)限的過程。
回答問題:用戶X是否有權(quán)訪問資源/操作Y?

3.受保護(hù)的客戶:

通常,a&a機(jī)制與受保護(hù)的客戶端框架配合使用:Spring安全性,Apache Shiro,Wicket身份驗(yàn)證等。 我將在稍后的文章中進(jìn)行評論。

要考慮的主要主題:

  • 認(rèn)證服務(wù)器
  • 安全的Web客戶端框架
  • 授權(quán)職責(zé)
  • 完整的解決方案提供商:

    在我的研究中,我遇到了完整的解決方案提供商:

    • Open AM(稱為OpenSSO)–他們聲稱是一個(gè)開源項(xiàng)目。 但是過了一會(huì)兒,您發(fā)現(xiàn)它確實(shí)是一個(gè)開放源代碼,但并非用于商業(yè)用途。 您需要為他們的a&a配套支付大量的錢。
    • 人群– Atlassian。 似乎是一種快速,良好且非常便宜的解決方案。 但是,我們?nèi)栽谧呦蛲耆虡I(yè)化的開源解決方案。 這個(gè)也不符合我們的需求。

    受保護(hù)的客戶:

    • Spring安全性:非常流行并且廣泛使用。 當(dāng)您想要擁有除基本設(shè)置以外的更多功能時(shí),Spring Security需要大量的xml配置。
    • 此外,如果您需要支持權(quán)限(而不僅是角色),Spring安全性不提供現(xiàn)成的支持。

    • Apache Shiro:–很棒的產(chǎn)品。 開箱即用的配置和權(quán)限支持非常簡單。
    • 問題在于Shiro的社區(qū)仍然很小,而且該項(xiàng)目還很新。

    解:

  • 認(rèn)證服務(wù)器:

    我遇到了CAS(中央身份驗(yàn)證服務(wù))–偉大且完全開源的項(xiàng)目。 CAS提供SSO解決方案并支持流行的協(xié)議,例如SAML,OPENID,Auth。

    因此,如果我們將CAS與LDAP服務(wù)器集成在一起(以保存用戶的信息),我們就可以實(shí)現(xiàn)身份驗(yàn)證模型(并且開箱即用地?fù)碛蠸SO)。

    CAS基于Spring,非常容易擴(kuò)展,以防我們要進(jìn)行自定義更改。 您可以輕松下載源代碼,并根據(jù)需要對其進(jìn)行自定義。

    CAS配置非常容易并且有據(jù)可查。

  • 受保護(hù)的客戶端框架:

    我選擇了Spring Security。 三個(gè)原因:

  • 該Web應(yīng)用程序是基于Spring的。
  • 受歡迎和背后的社區(qū)綽綽有余。
  • 與CAS完美集成。
  • *我提到Spring安全缺乏權(quán)限。 但是有一種解決方法。 可以在此處找到簡短的示例: http : //en.tekstenuitleg.net/blog/spring-security-with-roles-and-rights

    到目前為止,我們有Spring Security,Cas和LDAP(OpenLdap)服務(wù)器。

  • 授權(quán)職責(zé):

    可能有些棘手取決于您的項(xiàng)目要求。 您可以通過兩種方式配置授權(quán)流:

  • 集中授權(quán):

    CAS支持屬性。 這意味著您可以向返回的響應(yīng)中添加其他屬性(角色/權(quán)限)(通過SAML,這非常簡單)。

    您實(shí)際上可以選擇并配置從哪個(gè)源中提取其他屬性(數(shù)據(jù)庫,Ldap,Active Directory等)。

    這是一個(gè)非常簡潔而優(yōu)雅的解決方案–一個(gè)中心,可以按要求提供每個(gè)用戶的身份驗(yàn)證和授權(quán)角色/權(quán)限。

  • 分散授權(quán):

    您可以通過擴(kuò)展UserDetails接口來配置Spring Security。 然后,讓每個(gè)應(yīng)用程序在成功通過身份驗(yàn)證后控制授權(quán)邏輯。

    *是否存在每個(gè)Web客戶端應(yīng)用程序應(yīng)對其授權(quán)邏輯負(fù)責(zé)還是對其進(jìn)行集中管理的公開辯論(正如我在第一點(diǎn)所述)。

  • 我建議根據(jù)您的項(xiàng)目需求用例來確定正確的態(tài)度。

    最后,我們有了一個(gè)完全用于商業(yè)用途的a&a開源解決方案。

    參考: IdanFridman.com博客上的JCG合作伙伴 Idan Fridman提供的身份驗(yàn)證和授權(quán)作為開源解決方案服務(wù) 。

    翻譯自: https://www.javacodegeeks.com/2013/11/authentication-and-authorization-as-an-open-source-solution-service.html

    總結(jié)

    以上是生活随笔為你收集整理的身份验证和授权作为开源解决方案服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。