성공적인 인증에 따라 사용자가 프로필을 완료해야합니다

StackOverflow https://stackoverflow.com/questions/1687199

  •  18-09-2019
  •  | 
  •  

문제

WebSphere Portal 6.1 용 독립형 사용자 정의 레지스트리, 사용자 정의 로그인 포틀릿 및 사용자 정의 프로필 포틀릿을 개발하고 있습니다. 일부 기존 사용자는 프로필에서 하나 이상의 필요한 필드를 완료하지 않았습니다.

다음 에이 사용자가 성공적으로 로그인하면 포털을 사용자 정의 프로필 포틀릿으로 리디렉션하도록하려면 어떻게해야합니까? ~ 전에 사이트의 나머지 부분에 액세스 할 수 있습니까?

도움이 되었습니까?

해결책

WebSphere Portal 6.1에는 필터 체인을 통해 인증 요청을 보내기위한 API가 제공됩니다. Developer Works에서 API를 설명하는 기사를 찾았습니다 ( 'WebSphere Portal의 새로운 보안 API').

특히, com.ibm.portal.auth.auth.explicitloginFilter 인터페이스를 사용하면 인증 시퀀스 중에 연결하고 사용자의 자격 증명이 검증 된 후 시스템이 리디렉션되는 곳에서 동적으로 변경할 수 있습니다. 다음은 스터브 된 예입니다.

public class CustomLoginFilter implements ExplicitLoginFilter {
    public void login(HttpServletRequest req, HttpServletResponse resp, 
        String userId, char[] password, 
        FilterChainContext portalLoginContext, Subject subject, 
        String realm, ExplicitLoginFilterChain chain) 
        throws LoginException, WSSecurityException, 
        com.ibm.portal.auth.exceptions.LoginException {  

        //Validate the user's credentials.
        chain.login(req, resp, userId, password, portalLoginContext, subject, realm);  

        //Redirect to profile portlet if required profile fields are incomplete.
        if(incompleteProfile(userId)) {
            portalLoginContext.setRedirectURL(getURLForProfilePortlet());
        }
    }

    //Other methods...
}

ExplictLoginFilter 및 그 종속성은 다음 JAR 파일에 있으며 코드를 컴파일 할 때 클래스 경로에 추가해야합니다.

웹에서 시작하여 포털 루트 디렉토리 ...
/base/wp.auth.base/shared/app/wp.auth.base.jar
/base/wp.base/shared/app/wp.base.jar

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top