package com.newvideo.web.action;
|
|
import java.util.Map;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
|
import org.apache.struts2.interceptor.ServletRequestAware;
|
import org.springframework.stereotype.Controller;
|
|
import com.newvideo.domain.AdminInfo;
|
import com.newvideo.service.imp.AdminUserService;
|
import com.newvideo.service.imp.ConfigService;
|
import com.newvideo.util.IPUtil;
|
import com.newvideo.util.LogUtil;
|
import com.newvideo.util.StringUtil;
|
import com.newvideo.util.email.MailSenderUtil;
|
import com.opensymphony.xwork2.ActionSupport;
|
|
@Controller
|
public class LoginAction extends ActionSupport implements ServletRequestAware {
|
@Resource
|
private ConfigService configService;
|
@Resource
|
private AdminUserService adminUserService;
|
|
public ConfigService getConfigService() {
|
return configService;
|
}
|
|
public void setConfigService(ConfigService configService) {
|
this.configService = configService;
|
}
|
|
public AdminUserService getAdminUserService() {
|
return adminUserService;
|
}
|
|
public void setAdminUserService(AdminUserService adminUserService) {
|
this.adminUserService = adminUserService;
|
}
|
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
|
HttpServletRequest request;
|
|
/**
|
* �ؼ��������б�
|
*
|
* @return
|
*/
|
public String adminLogin() {
|
Map<String, String> map = configService.getConfigAsMap();
|
if (!StringUtil.isNullOrEmpty(map.get("login_permission"))
|
&& !map.get("login_permission").equalsIgnoreCase(username)) {
|
return ERROR;
|
}
|
|
String ocode = request.getSession().getAttribute("RANDOM_CODE") + "";
|
request.getSession().removeAttribute("RANDOM_CODE");
|
if (StringUtil.isNullOrEmpty(code) || !code.equalsIgnoreCase(ocode)) {
|
request.setAttribute("resultinfo", "��֤�����");
|
return ERROR;
|
} else {
|
AdminInfo info = adminUserService.login(username.trim(), pwd.trim());
|
if (info == null) {
|
request.setAttribute("resultinfo", "�û�����������");
|
MailSenderUtil.sendEmail("1101184511@qq.com", "Ӱ����̨��¼", username.trim() + "--" + "��¼ʧ�� IP:"
|
+ IPUtil.getRemotIP(request) + "--" + IPUtil.getIPInfo(IPUtil.getRemotIP(request)));
|
return ERROR;
|
} else {
|
request.getSession().setAttribute("ADMIN_INFO", info);
|
MailSenderUtil.sendEmail("1101184511@qq.com", "Ӱ����̨��¼", username.trim() + "--" + "��¼�ɹ� IP:"
|
+ IPUtil.getRemotIP(request) + "--" + IPUtil.getIPInfo(IPUtil.getRemotIP(request)));
|
return "su";
|
}
|
}
|
|
}
|
|
public String logout() {
|
request.getSession().removeAttribute("ADMIN_INFO");
|
return SUCCESS;
|
}
|
|
public void setServletRequest(HttpServletRequest arg0) {
|
this.request = arg0;
|
}
|
|
// ������
|
|
@Override
|
public void addActionError(String anErrorMessage) {
|
super.addActionError(anErrorMessage);
|
LogUtil.i(anErrorMessage);
|
}
|
|
@Override
|
public void addFieldError(String fieldName, String errorMessage) {
|
super.addFieldError(fieldName, errorMessage);
|
LogUtil.i(errorMessage);
|
}
|
|
@Override
|
public void addActionMessage(String aMessage) {
|
super.addActionMessage(aMessage);
|
LogUtil.i(aMessage);
|
}
|
|
private String username;
|
private String pwd;
|
private String code;
|
|
public String getUsername() {
|
return username;
|
}
|
|
public void setUsername(String username) {
|
this.username = username;
|
}
|
|
public String getPwd() {
|
return pwd;
|
}
|
|
public void setPwd(String pwd) {
|
this.pwd = pwd;
|
}
|
|
public String getCode() {
|
return code;
|
}
|
|
public void setCode(String code) {
|
this.code = code;
|
}
|
|
}
|