Kontext injiziert SecurityContext null ist

Habe ich eine Javae EE-Anwendung mit JAX-RS 2.0 und JPA. Ich erstellt einen speziellen Anbieter meine Benutzer-Entität (mit Qualifier), um die aktuelle Benutzer (angemeldet), als Einheit von Anwendungen, die Benutzer-Datenbank.
Um den aktuellen Benutzer ich benutze

@Context
private SecurityContext secContext;

Das problem ist, dass diese null ist. Die Sicherheit ist das setup in Ordnung (Wildfly 8.2) - die app fragt nach Authentifizierung (basic), aber SecurityContext null ist. Hier ist der code:

@RequestScoped
public class CurrentUserProducer implements Serializable {

    /**
     * Default
     */
    private static final long serialVersionUID = 1L;

    @Context
    private SecurityContext secContext;

    /**
     * Tries to find logged in user in user db (by name) and returns it. If not
     * found a new user with role {@link UserRole#USER} is created.
     * 
     * @return found user a new user with role user
     */
    @Produces
    @CurrentUser
    public User getCurrentUser() {
        if (secContext == null) {
            throw new IllegalStateException("Can't inject security context - security context is null.");
        //... code to retrieve or create new user
        return user;
    }

}

Wie Sie sehen, ich check secContext für null, und ich sehe meine Ausnahme, sobald ich versuche zu erreichen, eine Ressource, die injiziert @CurrentUser.

So, wie ich dieses Problem lösen? Warum ist SecurityContext null.

InformationsquelleAutor dermoritz | 2015-06-02

Schreibe einen Kommentar