Wie um zu überprüfen, ob ein Benutzer angemeldet ist oder nicht in Servlets?
In einem Java-Servlet - ich will programmgesteuert überprüfen, ob ein Benutzer angemeldet oder nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In einem Java-Servlet - ich will programmgesteuert überprüfen, ob ein Benutzer angemeldet oder nicht.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
HttpServletRequest#getUserPrincipal()
wie schon in der anderen Antwort gilt nur, wenn Sie machen Verwendung von Java EE bereitgestellten container managed security, wie beschrieben hier.Wenn Sie jedoch homegrowing Ihrer eigenen Sicherheit, dann müssen Sie verlassen sich auf die
HttpSession
. Es ist nicht schwer, hier eine übersicht, was Sie implementieren müssen, um Sie auf jedem Schritt:Auf "login", erhalten die
User
aus der DB, und speichern Sie es in der Sitzung in servlet istdoPost()
:Auf logout, nur invalidieren der session servlet ist
doPost()
. Es zerstört die Sitzung und löschen Sie alle Attribute.Zu prüfen, ob eine
User
angemeldet ist oder nicht, erstellen Sie eine filter, die zugeordnet ist, mit einemurl-pattern
deckt die eingeschränkte Seiten, z.B./secured/*
,/protected/*
usw. und implementierendoFilter()
wie unten:Das ist im Grunde alles.
Siehe auch:
chain.doFilter(request, response);
was die Kette hier?HttpServletRequest.getUserPrincipal()
Den Java Servlet 3.1 Spezifikation (Abschnitt 13.10) Staaten: