修改UserModule
打开UserModule, 先加一个属性UserService
@Inject protected UserService userService;
因为密码加密了,所以登陆方法要改一下
@At
@Filters
@POST
public Object login(@Param("username")String username,
@Param("password")String password,
@Param("captcha")String captcha,
@Attr(scope=Scope.SESSION, value="nutz_captcha")String _captcha,
HttpSession session) {
NutMap re = new NutMap();
if (!Toolkit.checkCaptcha(_captcha, captcha)) {
return re.setv("ok", false).setv("msg", "验证码错误");
}
int userId = userService.fetch(username, password);
if (userId < 0) {
return re.setv("ok", false).setv("msg", "用户名或密码错误");
} else {
session.setAttribute("me", userId);
return re.setv("ok", true);
}
}
严重注意一下@Param("username") 待会要修改登陆页面的表单哦
同样的,修改一下add方法
@At
public Object add(@Param("..")User user) {
NutMap re = new NutMap();
String msg = checkUser(user, true);
if (msg != null){
return re.setv("ok", false).setv("msg", msg);
}
user = userService.add(user.getName(), user.getPassword());
return re.setv("ok", true).setv("data", user);
}
还有update方法
@At
public Object update(@Param("password")String password, @Attr("me")int me) {
if (Strings.isBlank(password) || password.length() < 6)
return new NutMap().setv("ok", false).setv("msg", "密码不符合要求");
userService.updatePassword(me, password);
return new NutMap().setv("ok", true);
}