MainAction.java
Upload User: gtz2001
Upload Date: 2016-12-29
Package Size: 2489k
Code Size: 4k
Category:

WEB Mail

Development Platform:

Java

  1. package net.meybo.mail.action;
  2. import java.util.List;
  3. import net.meybo.mail.ActiveUser;
  4. import net.meybo.mail.Config;
  5. import net.meybo.mail.MailServer;
  6. import net.meybo.mail.client.EmailManage;
  7. import net.meybo.mail.client.UserManage;
  8. import com.easyjf.util.CommUtil;
  9. import com.easyjf.web.ActionContext;
  10. import com.easyjf.web.IWebAction;
  11. import com.easyjf.web.Module;
  12. import com.easyjf.web.Page;
  13. import com.easyjf.web.WebForm;
  14. /**
  15.  * 地址管理处理Action
  16.  * <p>Title: </p>
  17.  * <p>Description: 基于EasyJWeb框架,实现IWebAction接口,用户登录处理及菜单显示</p>
  18.  * <p>Copyright: Copyright (c) 2006</p>
  19.  * <p>Company: 脉博软件</p>
  20.  * @author 蔡世友
  21.  * @version 1.0
  22.  */
  23. public class MainAction implements IWebAction {
  24. public Page execute(WebForm form, Module module)  throws Exception{
  25. String method=CommUtil.null2String(form.get("easyJWebCommand"));
  26. Page forward=null;
  27. if(method.equals(""))
  28. {
  29. forward=doShowLogin(form,module);
  30. }
  31. else if("login".equals(method))//处理用户登录
  32. {
  33. return doLogin(form,module);
  34. }
  35. else if("logout".equals(method))
  36. {
  37. ActionContext.getContext().getSession().removeAttribute("user");
  38. forward=new Page("goto","/login.ejf","html");
  39. }
  40. else if("exit".equals(method))
  41. {
  42. ActionContext.getContext().getSession().removeAttribute("user");
  43. forward=new Page("goto","/exit.htm","html");
  44. }
  45. else if("showMenu".equals(method))
  46. {
  47. forward=doShowMenu(form,module);
  48. }
  49. return forward;
  50. }
  51. private Page doShowLogin(WebForm form, Module module)
  52. {
  53. ActionContext.getContext().getSession().removeAttribute("user");
  54. List list=Config.getDomains();
  55. form.addResult("list",list);
  56. return module.findPage("login");
  57. }
  58. private Page doShowMenu(WebForm form, Module module)
  59. {
  60. ActiveUser user=(ActiveUser)ActionContext.getContext().getSession().getAttribute("user");
  61. List list=EmailManage.getMyDir(user.getUserName(),user.getServerDomain());
  62. form.addResult("list",list);
  63. if(user==null)
  64. {
  65. form.addResult("msg","您没有登录或者是超时,请重登录!");
  66. return new Page("noLoin","/login.ejf","html");
  67. }
  68. return module.findPage("menu");
  69. }
  70. private Page doLogin(WebForm form, Module module)
  71. {
  72. Page page=null;
  73. String userName=CommUtil.null2String(form.get("userName"));
  74. String password=CommUtil.null2String(form.get("password"));
  75. String domain=CommUtil.null2String(form.get("domain"));
  76. if(userName.equals("")|| password.equals(""))
  77. {
  78. form.addResult("msg","用户名或者密码不能为空,请重新输入!");
  79. return doShowLogin(form,module);
  80. }
  81. if(domain.equals(""))
  82. {
  83. form.addResult("msg","请选择要登录的邮箱域名,请重新输入!");
  84. return doShowLogin(form,module);
  85. }
  86. System.out.println(userName+":"+password+":"+domain);
  87. MailServer server=Config.findServerByDomain(domain);
  88. if(server==null)
  89. {
  90. form.addResult("msg","你所选择的域名不正确!");
  91. return doShowLogin(form,module);
  92. }
  93. ActiveUser user=UserManage.login(userName,domain,password,server.getHostIp(),ActionContext.getContext().getRequest().getRemoteAddr());//UserManage..login(CommUtil.null2String(form.get("userName")),CommUtil.null2String(form.get("password")),request.getRemoteAddr());
  94. if(user!=null)
  95. {
  96. user.setIp(ActionContext.getContext().getRequest().getLocalAddr());
  97. ActionContext.getContext().getSession().setAttribute("user",user);//登录标志
  98. page=module.findPage("main");
  99. }
  100. else
  101. {
  102. form.addResult("msg","用户名或者密码不正确,请重新输入!");
  103. page=doShowLogin(form,module);
  104. }
  105. return page;
  106. }
  107. }