Bluemix에서 Liberty Buildpack
을 사용하고 고객이 ADFS idp
을 사용하여 samlWebSso20
구성을 넣었습니다.WebSphere Liberty 및 ADFS 서버의 samlWebSso20 구성에서 보안 역할/제한을 정의하는 올바른 방법은 무엇입니까?
저는 하나의 웹 응용 프로그램을 Liberty 인스턴스에 배포했습니다. 여기 here
설명으로
내가 Bluemix에 밀어 Server Directory
옵션을 사용하고 나의 server.xml에입니다 :
<?xml version="1.0" encoding="UTF-8"?>
<server description="johan">
<featureManager>
<feature>webProfile-7.0</feature>
<feature>samlWeb-2.0</feature>
<feature>appSecurity-2.0</feature>
</featureManager>
<samlWebSso20 id="defaultSP" nameIDFormat="unspecified"
spCookieName="my_cookie"
idpMetadata="${server.config.dir}/resources/security/FederationMetadata.xml"
userIdentifier="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"
sessionNotOnOrAfter="2h">
</samlWebSso20>
<keyStore id="defaultKeyStore" password="***" />
<webApplication context-root="/" location="MySampleApp.war" name="MySampleApp" type="war">
<security-role name="any-authenticated">
<special-subject type="ALL_AUTHENTICATED_USERS" />
</security-role>
<security-role name="administrators">
<user name="[email protected]" />
<user name="[email protected]" />
</security-role>
</webApplication>
그리고 여기 web.xml을입니다 Liberty에 배포 된 앱의 내용
나는 여기서 SampleApp의/관리자 경로를 명중, 나는 ADFS 로그인 페이지로 리디렉션. 그런 다음 [email protected]으로 로그인하여 내 앱으로 리디렉션됩니다. 그러나 사용자가 '관리자'역할을하더라도 403이 표시됩니다. 나는/관리 경로에 대한 any_authenticated
에 administrators
에서 AuthConstraint 역할을 변경하는 경우, [email protected] 그런 다음 관리자 페이지에 액세스 할 수
[AUDIT ] CWWKS9104A: Authorization failed for user [email protected] while invoking MySampleApp on /admin. The user is not granted access to any of the required roles: [administrators].
참고 : 다음은 로그에 오류 메시지입니다.
누군가가 경험을 공유하고 내가 뭘 잘못하고 있는지 설명해주십시오.
감사
SAML 등장으로 발행자의 이름입니다<security-role name="administrators">
<user name="[email protected]" access-id="user:<issuer name here> /[email protected]"/>
<user name="[email protected]" access-id="user:<issuer name here> /[email protected]"/>
</security-role>
으로
환상적인! 대단히 감사합니다. –