package cn.pangpython.controller;
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.ext.kit.SessionIdKit;
import cn.pangpython.model.User;
import cn.pangpython.utils.DateUtils;
import cn.pangpython.utils.MD5;
import cn.pangpython.validate.RegistValidator;
import cn.pangpython.validate.UserLoginValidator;
public
class
IndexController
extends
Controller {
public
void index(){
renderText(
"index"
);
}
public
void regpage(){
render(
"regist.html"
);
}
@Before(RegistValidator.
class
)
public
void regist(){
String pwd = getPara(
"user.pwd"
);
String confirm = getPara(
"reg.confirm"
);
boolean result = validateCaptcha(
"reg.yzm"
);
if
(!result){
setAttr(
"yzmErrMsg"
,
"验证码错误!"
);
render(
"regist.html"
);
return
;
}
if
(!pwd.equals(confirm)){
setAttr(
"confirmErrMsg"
,
"请正确填写确认密码!"
);
render(
"regist.html"
);
return
;
}
String uname = getPara(
"user.name"
);
User user = getModel(User.
class
);
String reg_time = DateUtils.dateToUnixTimestamp(DateUtils.getNowTime())+
""
;
pwd = MD5.GetMD5Code(pwd+reg_time);
user.setName(uname);
user.setPwd(pwd);
user.setRegTime(reg_time);
user.save();
renderText(
"注册成功!"
);
}
public
void login(){
render(
"login.html"
);
}
@Before(UserLoginValidator.
class
)
public
void ulogin(){
boolean result = validateCaptcha(
"yzm"
);
if
(!result) {
setAttr(
"yzmErrMsg"
,
"验证码错误!"
);
render(
"login.html"
);
return
;
}
String uname = getPara(
"user.name"
);
String sql =
"select * from user where name = ? limit 1"
;
User user = User.dao.findFirst(sql, uname);
if
(user != null) {
String pwd = MD5.GetMD5Code(getPara(
"user.pwd"
) + user.getRegTime());
if
(user.getPwd().equals(pwd)) {
String sessionId = SessionIdKit.me().generate(getRequest());
setSessionAttr(sessionId, user);
setCookie(
"cuser"
, sessionId, 60000);
renderText(
"登录成功!"
);
}
else
{
setAttr(
"UnameErrMsg"
,
"用户名或密码不正确!"
);
render(
"login.html"
);
}
}
else
{
setAttr(
"UnameErrMsg"
,
"用户名不存在!"
);
render(
"login.html"
);
}
}
}