步骤1:在com.bstek.dorado.sample.standardlesson.junior.LoginService.java类中新建doLogout方法,最终代码如下:
package com.bstek.dorado.sample.standardlesson.junior; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Component; import com.bstek.dorado.annotation.Expose; import com.bstek.dorado.sample.standardlesson.dao.SlEmployeeDao; import com.bstek.dorado.sample.standardlesson.entity.SlEmployee; import com.bstek.dorado.web.DoradoContext; @Component public class LoginService { @Resource private SlEmployeeDao slEmployeeDao; @Expose public Map doLogin(Map param) { String username = (String) param.get("username"); String password = (String) param.get("password"); Map result = new HashMap(); if (isValid(username, password)) { // 设置验证成功需要跳转的页面 result.put("url", "com.bstek.dorado.sample.standardlesson.junior.main.Main.d"); result.put("result", true); return result; } else { String errormsg = "用户名或者密码不正确"; result.put("errormsg", errormsg); result.put("result", false); return result; } } // 以下方法需要替换为自己的验证用户名密码的业务逻辑 public boolean isValid(String username, String password) { DetachedCriteria dc = DetachedCriteria.forClass(SlEmployee.class); if (username != null && !"".equals(username)) { dc.add(Restrictions.eq("userName", username.toUpperCase())); } List<SlEmployee> employees = slEmployeeDao.find(dc); if (employees.size() > 0) { SlEmployee employee = employees.get(0); if (password.equals(employee.getPassword())) { // 验证成功后将用户信息放入session中 DoradoContext ctx = DoradoContext.getCurrent(); HttpServletRequest request = request = ctx.getRequest(); request.getSession().setAttribute("user", employee); return true; } else { return false; } } else { return false; } } @Expose public Map doLogout() { DoradoContext ctx = DoradoContext.getCurrent(); HttpServletRequest request = request = ctx.getRequest(); request.getSession().setAttribute("user", null); Map result = new HashMap(); result.put("url", "com.bstek.dorado.sample.standardlesson.junior.Login.d"); result.put("result", true); return result; } }