当前位置: 首页 > 知识库问答 >
问题:

验证成功后spring security HttpSession为空

沈博达
2023-03-14

我使用的是spring security 3.0.5.Release。在成功的身份验证后,用户没有经过身份验证,我在日志中有以下消息

16/10/2014 00:08:17[http-bio-8080-exec-5](AbstractauthEnticationProcessingFilter.java:289)调试-身份验证成功...

<filter>
  <filter-name>springSecurityFilterChain</filter-name>
  <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
  <filter-name>springSecurityFilterChain</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

security.xml

<security:http auto-config="true" use-expressions="true" access-denied-page="/denied.htm">
<security:intercept-url pattern="/"  access="permitAll" />
<security:intercept-url pattern="/user/login"  access="permitAll" />
<security:intercept-url pattern="/admin/**"  access="hasRole('ROLE_ADMIN')" />
<security:form-login    login-page="/user/login.htm"  authentication-failure-url="/user/login.htm?error=true"   default-target-url="/" />
<security:logout invalidate-session="true" logout-success-url="/index.htm" logout-url="/logout.htm" />
<security:authentication-manager>
    <security:authentication-provider user-service-ref="userDetailsService">
        <security:password-encoder ref="passwordEncoder" />
    </security:authentication-provider>
</security:authentication-manager>

<!-- Use a Md5 encoder since the user's passwords are stored as Md5 in the 
    database -->
<bean
    class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" id="passwordEncoder" />

<bean id="userDaoService" class="com.example.dao.jdbc.JdbcUserDao">
    <property name="dataSource" ref="dataSource" />
</bean>

<bean id="userDetailsService" class="com.cercle.core.services.impl.UserServiceImpl">
</bean>

<bean id="userDetails" class="com.example.model.User">
</bean>

共有1个答案

蒯坚白
2023-03-14

我发现问题了。Spring conf还可以,但是我的tomcat运行在apache2后面,我忘记通知apache2保存cookie(使用命令ProxyPassReverseCookiePath)

 类似资料:
  • 我用的是spring 4.3.10。释放和Spring安全4.2.3。RELEASE 当我在成功验证后尝试打开/admin时,我得到403,但我拥有所有必需的权限,请查看tomcat日志。 我的安全配置: 我的雄猫日志:

  • 我正在使用Spring JDBCTemplate batchUpdate在批中插入数据。我想验证数据是否已成功插入。JDBCTemplate batchUpdate返回一个int[][],那么验证数据是否插入的正确方法是什么? 此链接表示“所有批处理更新方法都返回一个int数组,其中包含每个批处理条目的受影响行数。此计数由JDBC驱动程序报告,并且在这种情况下它并不总是可用,在这种情况下JDBC驱

  • 我已经按照 gitlab 网站上的说明进行操作,并成功生成并将 SSH 密钥添加到 gitlab。但是,vs 代码仍然不断要求身份验证。我不想更改因为接受的答案建议Visual Studio Code始终要求git凭据。如何解决此问题? 编辑:我尝试更改,但vscode仍在请求身份验证。这发生在乌班图20.04

  • 在从主机推送docker映像(成功登录后)时,我得到了“未经授权:需要身份验证”。 详情如下。 Docker版本:1.9.1(客户端和服务器) /var/log/messages显示403,我不知道这个docker。见下文。 非常感谢您的帮助,如果您需要更多信息,请告诉我。我也用-f推了推。不走运!

  • 与firebase_ auth和firebase_。使用电子邮件和密码进行身份验证。这是用于身份验证和处理身份验证更改事件的代码提取。验证成功后,代码将用户信息插入实时数据库。如果数据库规则设置为读/写真,则一切正常。但是,使用标准数据库写入规则(auth!=null),应用程序抛出DatabaseError:权限被拒绝。数据库插件似乎不知道经过身份验证的身份?你知道怎么回事吗? 然后: 我已经写

  • 我为应用程序的SAML身份验证设置了OneLogin。我的应用程序的一个功能向用户发送通知链接以进行某些调查。当用户单击链接时,它会将用户带到OneLogin页面进行身份验证。认证成功后,用户将被重定向到应用程序的默认页面,而不是用户应该处理的调查页面。当前的OneLogin设置将消费者URL设置为默认值。我的申请的aspx页面。在网络中。配置我添加了一个登录endpoint连接器信息。OneLo