001 package com.khubla.pragmatach.plugin.adminapp;
002
003 import com.khubla.pragmatach.framework.annotation.Controller;
004 import com.khubla.pragmatach.framework.annotation.Route;
005 import com.khubla.pragmatach.framework.annotation.Route.HttpMethod;
006 import com.khubla.pragmatach.framework.annotation.View;
007 import com.khubla.pragmatach.framework.api.PragmatachException;
008 import com.khubla.pragmatach.framework.api.Response;
009
010 /**
011 * @author tome
012 */
013 @Controller(name = "pragmatachAdminLoginController")
014 @View(view = "pragmatach/admin/login.html")
015 public class AdminLoginController extends BaseAdminController {
016 /**
017 * username
018 */
019 private String username;
020 /**
021 * password
022 */
023 private String password;
024
025 @Route(uri = "/pragmatach/admin/login/doLogin", method = HttpMethod.post)
026 public Response doLogin() throws PragmatachException {
027 /*
028 * valid u/p?
029 */
030 if ((null != username) && (username.length() > 0) && (null != password) && (password.length() > 0)) {
031 /*
032 * check that it matches
033 */
034 if ((username.compareTo(getConfigurationParameter("pragmatach.adminapp.username")) == 0) && (password.compareTo(getConfigurationParameter("pragmatach.adminapp.password")) == 0)) {
035 /*
036 * set session state
037 */
038 this.getSessionScopedController(AdminUserController.class).setUsername(username);
039 /*
040 * set cookie
041 */
042 getRequest().getCookies().setEncryptedCookie(BaseAdminController.USERID, username);
043 getRequest().getCookies().setEncryptedCookie(BaseAdminController.PASSWORD, password);
044 /*
045 * go to main page
046 */
047 return super.forward("/pragmatach/admin/");
048 }
049 }
050 return super.forward("/pragmatach/admin/login");
051 }
052
053 public String getPassword() {
054 return password;
055 }
056
057 public String getUsername() {
058 return username;
059 }
060
061 @Route(uri = "/pragmatach/admin/login")
062 public Response render() throws PragmatachException {
063 return super.render();
064 }
065
066 public void setPassword(String password) {
067 this.password = password;
068 }
069
070 public void setUsername(String username) {
071 this.username = username;
072 }
073 }