NutzCN Logo
问答 【nutz book]【验证码登陆】获取UserModule里的login方法里的_captcha的值为什么会是null
发布于 2793天前 作者 jacky013 1987 次浏览 复制 上一个帖子 下一个帖子
标签:

如下方法里的_captcha的值为什么会是null
@At
@Filters // 覆盖UserModule类的@Filter设置,因为登陆可不能要求是个已经登陆的Session
public Object login(@Param("username")String name,
@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", "验证码错误");
}
User user = dao.fetch(User.class, Cnd.where("name", "=", name).and("password", "=", password));
if (user == null) {
return re.setv("ok", false).setv("msg", "用户名或密码错误");
} else {
session.setAttribute("me", user.getId());
return re.setv("ok", true);
}
}

3 回复

这取决于生成验证码的入口方法,把值放入session的时候选了个啥名字

我查了下session的名字是对的啊:
CaptchaModule的next方法里
session.setAttribute(ToolKit.captcha_attr, text);

ToolKit.captcha_attr是如下的值
public static String captcha_attr = "nutz_captcha";

UserModule的login方法里的是
@Attr(scope=Scope.SESSION, value="nutz_captcha")String _captcha,

把session.getId()打印一下, 两边都取一下值

添加回复
请先登陆
回到顶部