【问题标题】:Angularjs and Spring session managementAngularjs 和 Spring 会话管理
【发布时间】:2015-06-23 16:25:27
【问题描述】:

我正在同时使用 angularjs 和 spring security。

一切都很好,但是会话管理问题还没有解决。

这是我的代码 => security.xml

<session-management invalid-session-url="/sessionout">
            <concurrency-control expired-url="/login" />
</session-management>

angularjs 路由器无法捕获 url /sessinout。所以我不知道如何处理这个问题。我必须做什么,来处理那个 url?

最后一个问题!! 一开始,我以为我不需要那个&lt;session-management&gt; 标签。 但是,如果没有那个标签,front 就无法识别会话已经结束。 angularjs如何处理spring安全会话?

【问题讨论】:

    标签: angularjs spring session spring-security


    【解决方案1】:

    迟到的回复,以帮助其他人搜索答案。你必须区分你的java控制器捕获的url和angularjs捕获的其他人。

    如果在你的 app.js 中你有一个类似

    的路径路径
     .when('/error/expired', {
          templateUrl: 'error/expired',
     })
    

    Angularjs 将使用 hashbang 捕获以下 url

    http://localhost/app/#/error/expired

    如果您使用以下 url,在我的例子中使用 thymeleaf 进行模板,我有一些 java 控制器。

    http://localhost/app/error/expired

    您将通过相应的 url 访问 java 控制器

    当然,如果 locationProvider 中的 html5 模式没有使用,这个解决方案也可以。

    回答问题

    <session-management invalid-session-url="/#/sessionout">
    

    将被重定向到角根。

    【讨论】:

      猜你喜欢
      • 2013-08-31
      • 2016-08-21
      • 2016-10-26
      • 2020-12-16
      • 2011-09-19
      • 2012-04-30
      • 2016-05-31
      • 2016-05-07
      相关资源
      最近更新 更多