001 package com.khubla.pragmatach.plugin.adminapp; 002 003 import com.khubla.pragmatach.framework.api.PragmatachException; 004 import com.khubla.pragmatach.framework.api.Response; 005 006 /** 007 * @author tome 008 */ 009 public class SecuredAdminController extends BaseAdminController { 010 /** 011 * check security 012 */ 013 public Response render() throws PragmatachException { 014 /* 015 * get the user controller 016 */ 017 final AdminUserController adminUserController = this.getSessionScopedController(AdminUserController.class); 018 /* 019 * user logged in? 020 */ 021 if (null != adminUserController.getUsername()) { 022 /* 023 * user is logged in 024 */ 025 return super.render(); 026 } else { 027 /* 028 * check for the cookie 029 */ 030 final String userId = getRequest().getCookies().getEncryptedCookie(USERID); 031 final String password = getRequest().getCookies().getEncryptedCookie(PASSWORD); 032 if ((null != userId) && (null != password)) { 033 /* 034 * check 035 */ 036 if ((userId.compareTo(getConfigurationParameter("pragmatach.adminapp.username")) == 0) && (password.compareTo(getConfigurationParameter("pragmatach.adminapp.password")) == 0)) { 037 /* 038 * set the session state from the cookie 039 */ 040 adminUserController.setUsername(userId); 041 /* 042 * redirect back and try again 043 */ 044 return super.render(); 045 } else { 046 /* 047 * log in 048 */ 049 return super.forward("/pragmatach/admin/login"); 050 } 051 } else { 052 /* 053 * log in 054 */ 055 return super.forward("/pragmatach/admin/login"); 056 } 057 } 058 } 059 }