1
我們爲客戶使用UAA的多租戶功能。因此,每個人都有自己的身份區。我們還希望將管理員身份區域與默認的UAA身份區域分開。但是,似乎只有默認的UAA身份區域中的用戶才能夠切換身份區域。Cloudfoundry中的穿越身份區UAA
從IdentiyZoneSwitchingFilter
:
if (IdentityZoneHolder.isUaa() && oAuth2Authentication != null && !oAuth2Authentication.getOAuth2Request().getScope().isEmpty()) {
SecurityContextHolder.getContext().setAuthentication(oAuth2Authentication);
} else {
response.sendError(HttpServletResponse.SC_FORBIDDEN, "User is not authorized to switch to IdentityZone with id "+identityZoneId);
return;
}
顯然IdentityZoneHolder.isUaa()
將是什麼,但UAA的身份帶假的。
過去我們對UAA進行了重大修改以支持我們的功能,包括安裝我們自己的IdentityZoneSwitchingFilter
。我們最近升級到3.3.0,並試圖將我們的所有代碼都清理出來,以便在我們的東西和UAA之間保持清晰的分離。
我們希望不修改UAA,但看起來我們仍然需要配置我們自己的IdentityZoneSwitchingFilter
。它是否正確?有沒有另一種方法可以在不修改UAA的情況下完成這個任務
感謝您的回覆。這是我的預期。我們需要多個基於子域的管理分區,能夠創建和管理其他分區。我通過使用管理客戶端憑據來代表用戶執行操作來解決此問題。它沒有我想要的那麼優雅,但它現在可以工作。 –