今天我要说的是一个sessionid 错误问题 :There is no session with id[xxxxxxx]_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 今天我要说的是一个sessionid 错误问题 :There is no session with id[xxxxxxx]

今天我要说的是一个sessionid 错误问题 :There is no session with id[xxxxxxx]

 2015/3/4 18:54:05  subject  程序员俱乐部  我要评论(0)
  • 摘要:[align=center][align=right]首先我要说的是用到的框架shiro安全框架springmvc等下面我把错误信息拿上来这个错误主要发生:我第一次访问登陆页是会出现,登陆方法:@RequestMapping(value="/login",method=RequestMethod.GET)publicStringlogin(HttpServletRequestrequest,HttpServletResponseresponse,Modelmodel){logger.info
  • 标签:一个 问题 错误
[align=center][align=right]首先我要说的是用到的框架 shiro安全框架 springmvc等

下面我把错误信息拿上来




这个错误主要发生:
     我第一次访问登陆页是会出现,登陆方法:

      
class="java" name="code">@RequestMapping(value = "/login", method = RequestMethod.GET)
	public String login(HttpServletRequest request, HttpServletResponse response, Model model) {
		logger.info("LoginPage running......");
		User user = UserUtils.getUser();
		// 如果已经登录,则跳转到管理首页
		if(user.getId() != null){
//			return "redirect:"+Global.getAdminPath();
			return "redirect:/index";
		}
 		return "/commons/index";
            }
@RequestMapping(value="/login", method = RequestMethod.POST)
	public String login(HttpServletRequest request, Model model){
        xxxxxxxxxx
}

这两种,解释下这两种的区别,第一个login 是get 方式传输也就是说如果你第一次用url来访问登陆页那么久走这个方法。
第二个则就是post 当然就是登陆的时候要走的login
我这个错误 第一次访问会出现,logout后也会出现。很奇怪,研究了很久 发现每次出现都是走完get方式, 困扰了很久以后,我改变了思路, 不区分get 和post
因为在shiro配置文件里我们可以/login = authc,先验证后判断去向,所以代码改造后
只有他就行了
      
/**
	 * 用户登录
	 * @return
	 */
	@RequestMapping(value="/login")
	public String login(HttpServletRequest request, Model model){
		logger.info("User login......");
		 	String exceptionClassName = (String)request.getAttribute("shiroLoginFailure");
	        String error = null;
	        if(UnknownAccountException.class.getName().equals(exceptionClassName)) {
	            error = "用户名或密码不正确";
	        } else if(IncorrectCredentialsException.class.getName().equals(exceptionClassName)) {
	            error = "用户名或密码不正确";
	        } else if(exceptionClassName != null) {
	            error = "其他错误:" + exceptionClassName;
	        }
	        model.addAttribute("ERROR_LOGIN", error);
	        return "/commons/index";
	}


这时候有同学会问 验证成功怎么办?
那么这里还有个 <!-- 登陆成功后跳转的url -->
        <property name="successUrl" value="/index" />
利用这个方法可以控制你的去向,好了今天就说到这里吧,下次有好的分享会来的[/align][/align]
  • 大小: 3.7 KB
  • 大小: 15.3 KB
  • 查看图片附件
发表评论
用户名: 匿名