我是 Spring 新手,在Spring和Tomcat中开发动态 Web 应用程序,出于某种原因
,我没有使用Spring Security。我想阻止用户访问
已经在会话中 的登录页面。这是我的代码:
@Controller
@RequestMapping("/login")
@SessionAttributes("userAuthenticator")
public class LoginController {
@RequestMapping(method = RequestMethod.GET)
public String showLogin(ModelMap model, HttpServletRequest request) {
System.out.println("Current Session: " + request.getSession(false));
if (request.getSession(false) == null) {
System.out.println("This means a new user wants to access the login page");
return "login";
}
else{
//means the user is already in session.So move him to another page say display.jsp
//actually I have done here with some other checking like getUserName() from
the model "UserAuthenticator" and if its again null redirect to login page.
}
现在忘记其他部分。当我
第一次在浏览器中输入 URL 时: ..../AccountCreation/login.htm
控制台输出:
Current Session: null
This means a new user wants to access the login page
看起来很正常,因为新用户正在访问该页面(登录页面也会出现)。
但是当我重新输入URL 甚至刷新页面时,控制台输出就会出现:
Current Session: org.apache.catalina.session.StandardSessionFacade@511e0a
那个会话是从哪里来的?
(出于这个原因,在我的其他部分我得到:“网页有一个重定向循环”在我的浏览器中)
谁能建议我在不使用Spring Security的情况下实现我的目标的方法?
这对我来说现在非常需要......
谢谢...