站在weblogic的整個系統(tǒng)的上層考慮。
weblogic為安全認證提供了三種方式:
1.身份驗證提供程序(Authentication Provider),是一種基于用戶名-密碼組合形式的身份驗證。程序提供框架嚴格遵循標準JAAS的身份驗證規(guī)范。WebLogic要求至少在安全域中配置一個身份驗證提供程序。
2.主體驗證提供程序(Principal Validation Provider)是一種基于直接活通過HTTP服務器傳送到WebLogic的數(shù)字證書的身份驗證??蛻舳耍赡苁沁h程的)建立起與WebLogic的信任之后,在兩次服務器調用之間,通過身份驗證的主題是保存在客戶端上的。Principal Validation Provider確保在兩次調用之間的任何時間里,對于主題的主體不會出現(xiàn)什么有害行為。它是通過辨別和驗證主題保存的主體的可靠性來做到這一點的。主體通過驗證之后,Authorization Provider可以使用它們進行訪問控制檢查,或者Role Mapping Provider可以使用它們進行角色映射決策。安全域必須為每個Authentication Provider都定義一個Principal Validation Provider。
3.身份斷言提供程序(Identity Assertion Provider)Identity Assertion Provider有助于保護對WebLogic部署的入口點的訪問。外部客戶端可以使用令牌來建立與WebLogic Server之間的信任,而不是使用用戶名和密碼。Identity Assertion Provider對令牌進行檢查,如果成功就把它映射為合法的WebLogic用戶。令牌被映射為合法用戶之后,Authentication Provider就可以為該用戶生成主體。這種機制稱為周邊身份驗證(perimeter authentication),所以可以認為Identity Assertion Provider 是一類特殊的Authentication Provider。這里的關鍵在于外部代理負責對用戶進行身份驗證,然后負責把用戶數(shù)據(jù)傳送給WebLogic。
邊身份驗證的副作用是支持單點登錄。例如,Identity Assertion Provider能夠提供X.509數(shù)字證書作為身份令牌,而這些證書則可以跨多個系統(tǒng)使用。WebLogic支持的Identity Assertion Provider可以處理多種令牌類型(X.509,IIOP-CSIv2)。另外,還可以創(chuàng)建支持定制令牌類型的Identity Assertion Provider(比如Kerberos tickets)。Identity Assertion Provider可以有多種活動的令牌類型。然而,在一個提供程序中只能有一個令牌類型是活動的。當然,一個安全域可以支持多個Identity Assertion Provider,但一般不需要這么做。
在身份驗證程序中提供了四種控制方式:
REQUIRED
這個選項是任意Authentication Provider的默認設置。一個必需的Authentication Provider始終會被調用,而不管其他提供程序上的控制標志設置如何。如果任何REQUIRED提供程序失敗,總的身份驗證就不會成功。因此,REQUIRED提供程序始終會被調用,如果其中任何一個失敗,總的身份驗證就會失敗。
REQUISITE
這個選項還要求Authentication Provider在登錄順序期間成功。然而,所有REQUISITE提供程序不需要為了總的身份驗證成功而被調用。如果一個REQUISITE提供程序成功,身份驗證就會按照常規(guī)依序進行到其他提供程序。然而,如果它失敗了,總的身份驗證就不會成功,而且一旦登錄順序中的REQUIRED提供程序被調用,控制權就會馬上傳回給應用程序。
SUFFICIENT
這個選項不要求Authentication Provider在登錄順序期間成功。如果SUFFICIENT提供程序成功,總的身份驗證會繼續(xù)進行,確保在登錄順序中只有余下的SUFFICIENT提供程序被執(zhí)行。然而,如果它失敗了,總的身份驗證就會按照常規(guī)依序進行到其他提供程序。
OPTIONAL
這個選項不要求Authentication Provider在登錄順序期間成功。不論OPTIONAL提供程序是否成功,身份驗證都會繼續(xù)進行到已被配置為登錄順序一部分的其他提供程序。