本文整理汇总了Java中org.nutz.mvc.Mvcs.getHttpSession方法的典型用法代码示例。如果您正苦于以下问题:Java Mvcs.getHttpSession方法的具体用法?Java Mvcs.getHttpSession怎么用?Java Mvcs.getHttpSession使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.nutz.mvc.Mvcs
的用法示例。
在下文中一共展示了Mvcs.getHttpSession方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: login
import org.nutz.mvc.Mvcs; //导入方法依赖的package包/类
@At
public boolean login(@Param("name")String name,
@Param("passwd")String password,
@Param("captcha")String captcha,
@Attr(value=Zs.UID)Long uid){
if (uid != null) {
return true;
}
if (name == null || password == null || captcha == null)
return false;
if (name.length() > 64 || password.length() > 64 || captcha.length() > 64)
return false;
HttpSession session = Mvcs.getHttpSession(false);
if (session == null) { // 直接调用login,没门!
return false;
}
Object _captcha = session.getAttribute(Toolkit.captcha_attr);
if (_captcha == null) //连验证码都没有咯,没门!
return false;
if (!Toolkit.checkCaptcha(_captcha.toString(), captcha)) {
Lang.sleep(1000); // 暂停1s再响应. TODO 容易导致DDOS
return false; // 验证码不过? 没门!
}
// TODO 下面是检查登录信息的逻辑,应当抽象为一个接口实现.
User usr = dao.fetch(User.class, Cnd.where("name", "=", name));
if (usr == null || !Toolkit.passwordEncode(password, usr.getSlat()).equals(usr.getPasswd())) {
Lang.sleep(1000); // 暂停1s再响应. TODO 容易导致DDOS
return false;
}
log.debug("User login success >> " + name);
// TODO 记录到系统操作日志中
session.setAttribute(Zs.UID, usr.getId()); // session里面只放id哦
return true;
}
示例2: requirePasswdReset
import org.nutz.mvc.Mvcs; //导入方法依赖的package包/类
@At("/pwd_reset")
public boolean requirePasswdReset(@Param("name")String name,
@Param("email")String email,
@Param("captcha")String captcha) {
if (name == null || email == null || captcha == null)
return false;
if (name.length() > 64 || email.length() > 64 || captcha.length() > 64)
return false;
HttpSession session = Mvcs.getHttpSession(false);
if (session == null) { // 直接调用login,没门!
return false;
}
Object _captcha = session.getAttribute(Toolkit.captcha_attr);
if (_captcha == null) //连验证码都没有咯,没门!
return false;
if (!Toolkit.checkCaptcha(_captcha.toString(), captcha)) {
Lang.sleep(1000); // 暂停1s再响应. TODO 容易导致DDOS
return false; // 验证码不过? 没门!
}
User usr = dao.fetch(User.class, name);
if (usr == null || !email.equalsIgnoreCase(usr.getEmail())) {
log.debug("email not match");
return false;
}
String tpl = "URL: ${url}/callback/${token}";
Context ctx = Lang.context();
ctx.set("url", Mvcs.getReq().getRequestURL().toString());
String token = String.format("u=%s,t=%d,slat=%s", name, System.currentTimeMillis(), usr.getSlat());
token = Toolkit._3DES_encode(pwdResetKey, token.getBytes());
if (token == null)
return false;
ctx.set("token", token);
return mailService.send(usr.getEmail(), "Password reset", tpl, ctx);
}
示例3: checkCaptcha
import org.nutz.mvc.Mvcs; //导入方法依赖的package包/类
@At("/captcha/check")
public boolean checkCaptcha(@Param("answer")String answer) {
HttpSession session = Mvcs.getHttpSession(false);
if (session != null) {
Object text = session.getAttribute(answer);
if (text != null) {
if (Toolkit.checkCaptcha(text.toString(), answer))
return true;
}
// 当输入出错,强制要求重新生成新的验证码
//session.removeAttribute(captcha_attr);
}
return false;
}
示例4: index
import org.nutz.mvc.Mvcs; //导入方法依赖的package包/类
@At("/home")
public View index() {
HttpSession session = Mvcs.getHttpSession();
if (session.getAttribute("usr") == null)
return usrLogin;
return USER_HOME_PAGE;
}
示例5: logout
import org.nutz.mvc.Mvcs; //导入方法依赖的package包/类
@At
public void logout(){
HttpSession session = Mvcs.getHttpSession(false);
if (session != null)
session.invalidate();
}