春季MVC AngularJS页面刷新/重定向



我在应用程序中使用spring MVC的angularjs。这是一个单个页面应用程序,其中有一个登录按钮和多个选项卡。除非用户登录,否则将看不到选项卡。在用户登录后,将可见选项卡(登录按钮将是不可见的),并且用户可以在任何选项卡下进行导航和使用功能。所有这些操作的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);,它仍然不起作用。

我在弹簧安全性和Angular JavaScript重定向上浏览了登录页面,但这对于我的要求很复杂,我的需求很简单。我想我们应该能够通过春季的会话管理通过适当的重定向重置我的页面来处理它。

我该如何实现?

好。我采取了一种角度的方法。我使用了Angular会话超时和管理中概述的组件NG-IDLE。

另外,由于ng-idle解决了我的要求,我已经删除了春季会话管理标签。

最新更新