package net.tooan.ynpay.manage.webapp.controller.view; import com.google.gson.Gson; import net.tooan.ynpay.commons.ErrorConstants; import net.tooan.ynpay.commons.YnpayJndiConstants; import net.tooan.ynpay.commons.webapp.json.Result; import net.tooan.ynpay.log.agent.helper.LogEnabled; import net.tooan.ynpay.third.jfinal.aop.Before; import net.tooan.ynpay.third.jfinal.core.Controller; import net.tooan.ynpay.third.jfinal.ext.interceptor.Restful; import net.tooan.ynpay.third.jfinal.ext.interceptor.ejb.RemoteEJB; import net.tooan.ynpay.third.jfinal.log.Logger; import net.tooan.ynpay.user.agent.UserConstants; import net.tooan.ynpay.user.agent.bean.User; import net.tooan.ynpay.user.agent.facade.SessionFacade; import net.tooan.ynpay.user.agent.facade.UserFacade; import net.tooan.ynpay.user.agent.model.Session; /** * Created with IntelliJ IDEA. * User: Jing * Date: 13-10-23 * Time: 下午3:42 */ @Before(Restful.class) public class AuthController extends Controller { private static final Logger logger = Logger.getLogger(AuthController.class); private Result json = new Result(); @RemoteEJB(mappedName = YnpayJndiConstants.User_Facade_Remote) private UserFacade userFacade; @RemoteEJB(mappedName = YnpayJndiConstants.Mongo_Session_Facade_Remote) private SessionFacade sessionFacade; public void index() { if (getSessionAttr("administrator", false)) { redirect("/"); } else { render("/auth/login.html"); } } @LogEnabled public void save() { String email = getPara("email"); String password = getPara("password"); try { User user = null;//userFacade.auth(email, Encrypt.md5(password), UserConstants.administrator); Session session = sessionFacade.save(user); setCookie("_ynpay_token_", session.getToken(), session.getExpire()); setSessionAttr("user", user); if (user.getType() == UserConstants.administrator) { setSessionAttr("administrator", true); json.setSuccess(true); sysLog("登录成功"); } else { json.setMessage(ErrorConstants.authInfoErrCode, ErrorConstants.authInfoErr); sysLog("登录失败,无权访问"); } } catch (Exception e) { if (logger.isErrorEnabled()) { logger.error(e.getMessage(), e); } json.setMessage(e.getMessage()); sysLog(e.getMessage()); } finally { renderJson(new Gson().toJson(json)); } } }