Muss sich der Benutzer-Profil nach erfolgreicher Authentifizierung abzuschließen

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

  •  18-09-2019
  •  | 
  •  

Frage

Ich entwickle eine eigenständige benutzerdefinierte Registry, benutzerdefinierte Login-Portlet und benutzerdefiniertes Profil Portlet für Websphere Portal 6.1. Einige bestehenden Benutzer haben nicht ein oder mehr erforderlichen Felder in ihren Profilen abgeschlossen.

Das nächste Mal, wenn diese Benutzer in erfolgreich anmelden, wie kann ich das Portal erhalten sie auf das benutzerdefinierte Profil Portlet umleiten vor ihnen den Zugang zum Rest der Website geben?

War es hilfreich?

Lösung

Es sieht aus wie 6.1 Websphere Portal mit einer API kommt Authentifizierungsanforderungen durch eine Kette von Filtern für das Senden. Ich fand einen Artikel beschreibt die API für Entwickler Werke ( ' Neuer Sicherheits-APIs in Websphere Portal ').

Insbesondere die com.ibm.portal.auth.ExplicitLoginFilter-Schnittstelle können Sie während der Authentifizierungssequenz anschließen und sich dynamisch ändern, wo das System leitet nach dem Anmeldeinformationen des Benutzers überprüft werden. Hier ist ein Stub Beispiel:

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...
}

Die ExplicitLoginFilter und ihre Abhängigkeiten werden in den folgenden JAR-Dateien befinden, die Sie zu Ihrem Classpath hinzufügen müssen, wenn Sie Ihren Code kompilieren:

Starten von Ihrem Websphere Portal Stammverzeichnis ...
/base/wp.auth.base/shared/app/wp.auth.base.jar
/base/wp.base/shared/app/wp.base.jar

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top