【问题标题】:Spring session management in mvc, Spring security session vs http sessionmvc 中的 Spring 会话管理,Spring 安全会话与 http 会话
【发布时间】:2013-12-01 23:11:11
【问题描述】:

成功登录后,我想使用新的 url 继续进一步的请求处理。但是 url 正在调用 spring mvc 中的公开服务,其中安全配置不检查即将到来的 url 的会话身份验证。请看下面的代码。

<http auto-config="true" use-expressions="true">
    <!-- <intercept-url pattern="/**" access="isAuthenticated()" /> -->
    <intercept-url pattern="/home*" access="isAuthenticated()" />
    <intercept-url pattern="/admin*" access="isAuthenticated()" />
    <form-login login-page="/" default-target-url="/home"
        authentication-failure-url="/accessdenied" always-use-default-target="false"/>
    <logout logout-success-url="/" />
    <anonymous username="guest" granted-authority="ROLE_GUEST" />
    <session-management invalid-session-url="/" session-authentication-error-url="/login.jsp?error=alreadyLogin">
       <concurrency-control max-sessions="1"  expired-url="/login.jsp?error=sessionExpiredDuplicateLogin" error-if-maximum-exceeded="false"/>
    </session-management>
    <remember-me />
</http>

当 jsp 页面提交登录验证 J_security_check 调用的目标 url 随后调用拦截器模式 /home* 并验证登录凭据。

如果我在登录前调用暴露的服务 "/address/userid/" 它直接调用服务方法如何使其会话绑定,如果会话存在则获取数据,否则不。

spring 安全会话与 http 会话有何不同,如何在 spring mvc 中像 http 会话一样维护 spring 安全会话。

如果我添加 &lt;intercept-url pattern="/**" access="isAuthenticated()" /&gt; 它不起作用,它也不会显示登录 jsp。请澄清我做错的地方。

如何区分身份验证管理器中的 userid/pwd 如下所示,作为单一的?接受第一个参数。

<authentication-manager>
    <authentication-provider>
        <!-- <user-service> <user name="admin" password="secret" authorities="ROLE_ADMIN,ROLE_USER"/> 
            </user-service> -->
        <jdbc-user-service data-source-ref="dataSource" 
            users-by-username-query="SELECT USER_NAME,USER_PWD, 'true' as enabled from LOGIN_USER where USER_NAME=?"
            authorities-by-username-query="select LOGIN_USER.USER_NAME , LOGIN_USER.ROLE_ID as authorities from LOGIN_USER
            where LOGIN_USER.USER_NAME =?" />
    </authentication-provider>
</authentication-manager>

我遇到了几个网站,它只描述了登录 spring 安全会话管理。我不清楚。提前致谢。

【问题讨论】:

    标签: java spring session spring-mvc


    【解决方案1】:

    我使用拦截器处理程序来检查 URI 和会话属性,它们工作正常,但在 Spring 框架中寻找更好的选项。

    【讨论】:

      猜你喜欢
      • 2020-12-16
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-03
      • 1970-01-01
      • 2016-10-26
      相关资源
      最近更新 更多