[align=center][align=right]首先我要说的是用到的框架 shiro安全框架 springmvc等
下面我把错误信息拿上来
这个错误主要发生:
我第一次访问登陆页是会出现,登陆方法:
@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
分享到:
相关推荐
### 关于.NET中C# Session丢失与SessionID变化问题解析 #### 一、问题背景及概述 在.NET框架中,特别是在使用C#进行Web开发时,Session管理是至关重要的一个环节。Session对象允许服务器存储有关用户会话的信息,...
tomcat修改sessionId,同一台服务器部署多个tomcat需要修改sessionId,否则会出现session冲突的问题
SessionID则是服务器为每个用户会话分配的一个唯一标识符,对于实现用户身份验证、个性化服务等功能至关重要。本文将围绕如何获取SessionID展开讨论,并通过示例代码深入解析其工作原理。 #### 一、Session简介 1....
一个服务器上搭建了多个tomcat或者weblogic,端口不一样,同时启动访问时session丢失。如:A,B两个服务,在浏览器中登录访问A后,当前打开的浏览器上在开一个选项卡访问B服务后,回过来点击访问A时session丢失,...
- **创建Session**:当用户首次访问网站时,服务器会为其创建一个新的Session,并生成一个唯一的Session ID。 - **存储Session ID**:Session ID通常被存储在Cookie中,这样每次用户请求资源时都会自动携带Session ...
//参数是a=""&b=""这样拼接的一个串 out.flush(); out.close(); out.write(parameters.getBytes(),0,parameters.getBytes().length); InputStream in = hc.getInputStream(); InputStreamReader ...
在Java的持久化框架中,Hibernate是一个非常流行的ORM(对象关系映射)工具,它极大地简化了数据库操作。然而,在某些特定场景下,我们可能并不需要频繁地打开和关闭Session,这时“Hibernate-nosession”就显得尤为...
在ASP.NET中,当一个用户访问网站并开始与服务器交互时,系统会为该用户分配一个唯一的SessionId。这个标识符是通过加密生成的,并存储在用户的浏览器cookies中,或者在URL中作为查询字符串传递(如果禁用了cookies...
如果没有sessionId就新创建session,如果有sessionId,就去redis中查看是否有此id的记录,如果没有就新建session,如果有,还是新建session,并把redis中此session的相关数据赋值给新建的session,最后保存sessionId...
在 Hibernate 中,每个线程都需要一个 Session 对象来与数据库交互。如果未绑定 Session 到线程, Hibernate 将无法正确地执行数据库操作。 解决方案 解决该错误的方法很简单,只需在相应的 manager 实现类中添加 ...
当用户在网站上进行登录等需要验证身份的操作时,服务器会为该用户创建一个唯一的session ID,并将其保存在服务器的内存中。这个ID随后会发送给客户端(通常是通过cookie),客户端在后续的请求中携带这个ID,使得...
在Web应用中,当用户请求验证码时,服务器会生成验证码并将其存储在Session中,同时将验证码的ID(通常是一个唯一的Session ID)发送给客户端,通常以Cookie的形式。客户端在填写验证码后,将验证码ID和用户输入的...
当用户登录时,服务器会生成一个唯一的Session ID,并将其通过Cookie返回给客户端。客户端在后续的每次请求中都会携带这个Session ID,服务器根据ID找到对应的Session,从而获取或更新用户的登录状态。 以下是一个...
"浏览器多窗口共用session引发的混乱"这个标题揭示了一个常见但往往被忽视的问题,即当用户在同一浏览器的不同窗口或标签页中打开同一个网站时,它们可能会共享同一份Session数据,这可能导致意料之外的行为和用户...
当用户登录网站后,服务器会为该用户创建一个唯一的Session ID,并将其存储在服务器端,通常是在内存中。然后,服务器将这个Session ID通过Cookie返回给客户端浏览器,浏览器会在后续的请求中携带这个Session ID,...
做开发的时候,操作session有时候会遇到这个问题:Warning: session_start() [function.session-start]…… 系统环境:WIN2003+IIS6+PHP5.2.12 PHP出现类似如下错误: Warning: session_start()[function.session-...
当用户访问网站时,服务器会为该用户生成一个唯一的Session ID,并通过cookie存储在客户端。之后,每次请求时,客户端都会发送这个Session ID,服务器根据ID找到对应的数据。 `session_class.php`可能包含以下关键...
在本场景中,Redis将作为一个会话存储库,保存所有服务器的sessionId,确保它们在集群中的可见性。 实现跨服务器的sessionId共享步骤如下: 1. **配置Tomcat**:在每个Tomcat实例的`server.xml`配置文件中,你需要...
"Acct-Session-id",即会计会话标识符,是RADIUS(Remote Authentication Dial In User Service)协议中一个关键属性,用于唯一标识一次用户会话或网络连接。它在计费、审计以及网络资源管理中扮演着至关重要的角色...
当一个客户首次访问服务器上的一个 JSP 页面时,JSP 引擎产生一个 Session 对象,同时分配一个 String 类型的 Id 号,JSP 引擎同时将这个 Id 号发送到客户端,存放在 Cookie 中,这样 Session 对象和客户之间就建立...