繁体   English   中英

Spring MVC AngularJS页面刷新/重定向

[英]Spring MVC AngularJS Page Refresh/Redirect

我在我的应用程序中将angularjs与spring mvc一起使用。 它是一个单页应用程序,其中有一个登录按钮和多个选项卡。 除非用户登录,否则选项卡是不可见的。用户登录后,选项卡将是可见的(登录按钮将不可见),并且用户可以导航和使用任何选项卡下的功能。 所有这些操作的URL将相同(例如:www.xyz.com/context/)。

我在这里有会话管理问题。 如果用户在这些选项卡中的任何一个中时会话到期,请说出选项卡编号。 3,应将页面重置为初始状态,在该状态下,登录按钮可见,而选项卡不可见。

我已经配置了春季会议管理,如下所示

<security:session-management invalid-session-url="/invalidSession">
     <security:concurrency-control expired-url="/" />
</security:session-management>

在会话到期时,我已经配置了spring mvc控制器来处理它。 像下面的那个。

@RequestMapping(value="/invalidSession", method = RequestMethod.GET)
public ModelAndView invalidSession () {
    ModelAndView model = new ModelAndView("redirect:/");
    model.setStatus(HttpStatus.);
    return model;
}

尽管在会话期满时调用此方法,但重定向不会将我的页面重置为仅显示登录按钮的初始状态。 而是,它在选项卡号中保持相同的状态。 3,所有其他标签仍然可见。 如果我按下浏览器的刷新按钮,则可以正常工作。

我也尝试过使用model.setStatus(HttpStatus.RESET_CONTENT); 在上述控制器方法中,它仍然不起作用。

我在Spring安全性和angular javascript重定向到登录页面中经历了一个问题,但是对于我的要求来说有点复杂,而且我的要求也很简单。 我想我们应该能够通过spring的会话管理来处理它,并使用适当的重定向来重置我的页面。

我该如何实现?

好。 我采取了有角度的方法。 我已经使用了Angular会话超时和管理中概述的ng-idle组件。

另外,由于ng-idle解决了我的要求,因此我也删除了spring session-management标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM