首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Spring Boot中实现“注销”功能

在Spring Boot中实现“注销”功能
EN

Stack Overflow用户
提问于 2014-05-15 01:39:43
回答 1查看 50.6K关注 0票数 28

为了让基本的安全特性起作用,我在pom.xml中添加了以下初学者包

代码语言:javascript
复制
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>

并向application.properties添加了以下两个属性:

security.user.name=guest

security.user.password=tiger

现在,当我访问我的主页时,我看到了登录框,登录工作正常。

现在我想实现“注销”功能。当用户单击链接时,他/她将被注销。我注意到登录并没有在我的浏览器中添加任何cookie。我假设Spring Security为用户创建了一个HttpSession对象。这是真的吗?我是否需要“失效”此会话并将用户重定向到其他页面?在基于Spring Boot的应用程序中实现“注销”功能的最佳方式是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-28 08:59:15

迟到总比不到好。Spring Boot为您默认了许多安全组件,包括CSRF保护。其中一件事就是强制POST注销,请看这里:http://docs.spring.io/spring-security/site/docs/3.2.4.RELEASE/reference/htmlsingle/#csrf-logout

这表明您可以覆盖它,使用类似于以下内容的内容:

代码语言:javascript
复制
http.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")                                      
.anyRequest().fullyAuthenticated()
.and()
.formLogin().loginPage("/login").failureUrl("/login?error").permitAll()
.and()
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout")).logoutSuccessUrl("/login");

最后一行是重要的一行。

票数 87
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23661492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档