簡體   English   中英

SSO身份驗證結合了Kerberos,ADFS和Spring Security

[英]SSO authentication combining Kerberos, ADFS and Spring Security

我目前正在分析實現身份驗證機制的幾種方法,這些機制將不要求用戶提供憑據。 為什么不? 因為我們正在談論僅在(應該)駐留在Kerberos領域內的內部網絡內使用的Web應用程序。

我花了一些時間試圖弄清楚哪種方法,但是似乎混亂才剛剛開始。 我要問的是應該使用哪種策略來連接這些組件,或者是否有不需要的任何組件:

  1. Kerberos:這是(假定的)身份驗證機制,用戶在使用Windows配置文件登錄后即獲得身份驗證。 我很確定它是否確實為要檢索的主體提供了明確的索償清單。
  2. ADFS:在我看來,通過將工單包裝到更標准的SAML協議中,聯合身份驗證服務可以只是Kerberos的擴展。 我認為,一旦將Web應用程序暴露於外部網絡,這便會有所幫助。 因此,我是否正確地說我不需要將應用程序集成到SSO機制中? 否則仍將需要它作為集成方式。
  3. Oracle WebLogic:這是將托管Web應用程序的選定應用程序服務器。 似乎有多種方法可以將WLS配置為Kerberos領域的一部分。 集成的重點是密鑰表。 在這里,我找到了一個舊示例,但似乎在WLS 12c中也差不多需要做同樣的事情: http : //www.ateam-oracle.com/kerberos-and-weblogic-server-on-windows -一步步/
  4. SPNEGO:如果HTTP協議用於訪問服務提供商(Web應用程序),這似乎是用於配置體系結構的標准協議。 對我來說,這只是Kerberos的擴展,這在我的用例中是必需的,因為該服務確實是通過HTTP(Angular SPA + SpringBoot通過REST進行通信)訪問的。
  5. SpringSecurity-Kerberos擴展:SpringSecurity提供了許多擴展,其中之一是支持Kerberos和SPNEGO的模塊。 我現在想到兩個問題:
    • 如果在應用程序服務器(Oracle WLS)中未處理集成,我認為這是一種替代方法。 如果是這樣,哪種方法更好?
    • Spring在其文檔中提供了使用此擴展的安全適配器設置示例(主要集成點:仍為keytab)。 但是,如何檢索用戶詳細信息呢? 是否仍需要連接到Active Directory並將其單獨存儲的服務?

我對替代方案以及可以一起使用的所有組件感到非常困惑。 我還沒有找到這種用例的簡潔流程圖,只有其中的一個單獨工作。 那么,假設我們具有上述所有組件,可以設計哪種方法?

注意:此外,現在,Angular層已通過SpringBoot后端視圖JWT上的虛擬服務進行了身份驗證。 如果可能,我希望將JWT保留在兩者之間,但是如果可以輕松檢索和解析Kerberos票證以獲取聲明,它將變得過時。

使用我的Tomcat SPNEGO AD擴展,其中包含一個Spring Sec墊片。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM