package demo18.server; import org.springframework.web.servlet.mvc.Controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.openswing.springframework.web.servlet.view.OpenSwingViewResolver; import java.util.ArrayList; import org.openswing.swing.message.send.java.Command; import org.openswing.springframework.web.servlet.handler.OpenSwingHandlerMapping; import java.util.Map; import org.openswing.swing.message.receive.java.*; import java.util.HashSet; /** * <p>Title: OpenSwing Framework</p> * <p>Description: Spring Controller used to check login data.</p> * <p>Copyright: Copyright (C) 2006 Mauro Carniel</p> * @version 1.0 */ public class LoginController implements Controller { private String username; private String password; public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) { ModelAndView mav = new ModelAndView(); Command command = (Command)request.getAttribute(OpenSwingHandlerMapping.COMMAND_ATTRIBUTE_NAME); Map credentials = (Map)command.getInputParam(); Response res = null; if (credentials.get("username").equals(username) && credentials.get("password").equals(password)) { res = new VOResponse(Boolean.TRUE); String sessionId = ""+System.currentTimeMillis()+Math.random(); HashSet sessionIds = (HashSet)request.getSession().getServletContext().getAttribute(OpenSwingHandlerMapping.USERS_AUTHENTICATED); if (sessionIds==null) { sessionIds = new HashSet(); request.getSession().getServletContext().setAttribute(OpenSwingHandlerMapping.USERS_AUTHENTICATED,sessionIds); } sessionIds.add(sessionId); res.setSessionId(sessionId); } else res = new ErrorResponse("Authentication failed!"); mav.addObject( OpenSwingViewResolver.RESPONSE_PROPERTY_NAME, res ); return mav; } public void setPassword(String password) { this.password = password; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public String getUsername() { return username; } }