2017-05-04 2 views
2

Obwohl ähnlich, das spezifische Problem, das ich habe ist in Use JASPIC auth module on WebSphere 8.5Benutzerdefinierte JASPIC auf WebSphere Fehlermeldung

I Nachricht bin immer den folgenden Fehler nicht angesprochen persistente Registrierungen werden gespeichert, müssen mit der Eigenschaft com.ibm.websphere.jaspi.configuration angegeben werden.

Ich kann die benutzerdefinierte Eigenschaft in der Verwaltung zu einem vorhandenen Ordner festlegen, aber ich wollte sicherstellen, dass das der richtige Ansatz ist oder wenn es einen Schritt fehlt mir fehlt.

Hinweis ich speziell den „eingebettet in Anwendung“ verwenden eher Ansatz als ein Server installiert JASPIC Modul so dass ich so etwas wie diese

@WebListener 
public class JaspicInitializer implements 
    ServletContextListener { 

    @Override 
    public void contextInitialized(final ServletContextEvent sce) { 

     final Map<String, String> options = new HashMap<>(); 
     AuthConfigFactory.getFactory() 
      .registerConfigProvider(AuthModuleConfigProvider.class.getName(), options, "HttpServlet", null, null); 
    } 
} 

habe ich sowohl den Fehler hatte WebSphere 8.5.5.11 und 9.0.0.3

+2

Dies könnte ein kleiner spec vio Ich kann mich nicht an die Spezifizierung erinnern, dass die Fabrik eine proprietäre Konfiguration jeglicher Art für Provider-Registrierungen, ob persistent oder nicht, erfordert. Haben Sie die populärere In-Memory-Alternative, d. H. "#registerConfigProvider (AuthConfigProvider, String, String, String)", stattdessen versucht? Wenn Sie unbedingt persistente Registrierungen benötigen, die vollständig portierbar sind (einschließlich des tatsächlichen Persistenzmechanismus/der Repräsentation), können Sie natürlich auch Ihre eigene 'AuthConfigFactory'-Implementierung bereitstellen. – Uux

+0

Oh ich sehe den Unterschied ... nahm ein bisschen. so in einer Instanz dann schieben. –

+0

Nun, das löst ein Problem Ich bekomme die Fehlermeldung nicht mehr, aber es wird auch nicht ausgelöst. Ich werde das in einer anderen Frage fragen. –

Antwort

2

Von @Uux Kommentar, änderte ich die Art, wie ich die Registrierung, so dass es nicht mehr den Fehler geben.

@WebListener 
public class JaspicInitializer implements 
    ServletContextListener { 

    private String registrationID; 

    @Override 
    public void contextDestroyed(final ServletContextEvent sce) { 

     AuthConfigFactory.getFactory().removeRegistration(registrationID); 
    } 

    @Override 
    public void contextInitialized(final ServletContextEvent sce) { 

     final ServletContext context = sce.getServletContext(); 
     registrationID = AuthConfigFactory.getFactory() 
      .registerConfigProvider(new AuthModuleConfigProvider(), "HttpServlet", 
       context.getVirtualServerName() + " " + context.getContextPath(), "JEE Sample"); 
    } 
} 

Auch WebSphere Global Security muss mit

  • Aktivieren der Anwendungssicherheit konfiguriert werden
  • aktivieren Java Authentication SPI (Jäspi)

enter image description here

Verwandte Themen