G
Gelöschtes Mitglied 16900
Gast
Hallo,
ich hab mich heute ein wenig mit Sessions beschäftigt, allerdings ehrlich gesagt noch nicht alles genau verstanden. Viele legen bereits eine Session an, wenn man schon auf die LoginSeite kommt, aber ich hab das erst gemacht, nachdem man sich erfolgreich eingeloggt hat, weil ich sonst nicht weiß, wie man kontrolliert ob eine Session wirklich korrekt ist. Irgendwie fehlt mir aber trotzdem noch vor chain.doFilter eine SessionID-Abfrage oder so, aber mit request.isRequestedSessionIdValid(), falls das überhaupt richtig ist, funktionierts nicht.
Mein Filter sieht bis jetzt so aus:
Ich hoffe mir kann jemand helfen
achja:
Wie kann ich in dem doFilter redirecten ohne dass eine Endlosschleife zustandekommt ? Mit Forward funktioniert das, allerdings seh ich dann in der URL mein ControllerHelper-Servlet und nicht das loginServlet, weils ja nur geforwarded wurde.
gruß
Farmy
ich hab mich heute ein wenig mit Sessions beschäftigt, allerdings ehrlich gesagt noch nicht alles genau verstanden. Viele legen bereits eine Session an, wenn man schon auf die LoginSeite kommt, aber ich hab das erst gemacht, nachdem man sich erfolgreich eingeloggt hat, weil ich sonst nicht weiß, wie man kontrolliert ob eine Session wirklich korrekt ist. Irgendwie fehlt mir aber trotzdem noch vor chain.doFilter eine SessionID-Abfrage oder so, aber mit request.isRequestedSessionIdValid(), falls das überhaupt richtig ist, funktionierts nicht.
Mein Filter sieht bis jetzt so aus:
Java:
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
if (request.getParameter("loginSubmit") != null) {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (dbconnect(username,password) == true) {
if (session != null)
session.invalidate();
session = request.getSession(true);
}
}
else if (request.getParameter("logoutSubmit") != null) {
if (session != null)
session.invalidate();
}
if(session != null) {
chain.doFilter(request, response);
}
else {
request.getRequestDispatcher("login").forward(request,response);
}
}
Ich hoffe mir kann jemand helfen
achja:
Wie kann ich in dem doFilter redirecten ohne dass eine Endlosschleife zustandekommt ? Mit Forward funktioniert das, allerdings seh ich dann in der URL mein ControllerHelper-Servlet und nicht das loginServlet, weils ja nur geforwarded wurde.
gruß
Farmy