首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring security提交表单后返回登录页面

Spring Security是一个基于Spring框架的安全框架,用于保护应用程序的安全性。它提供了一套全面的认证和授权机制,可以轻松地集成到Spring应用程序中。

当使用Spring Security进行表单认证时,通常会出现提交表单后返回登录页面的情况。这是因为在认证过程中,如果用户提供的凭据无效或者认证失败,Spring Security会将用户重定向回登录页面,以便用户重新输入正确的凭据。

在Spring Security中,可以通过配置来自定义登录页面的URL、登录表单的提交URL以及认证成功和失败后的处理逻辑。以下是一个示例配置:

代码语言:txt
复制
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/login").permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .defaultSuccessUrl("/home")
                .failureUrl("/login?error=true")
                .and()
            .logout()
                .logoutUrl("/logout")
                .logoutSuccessUrl("/login?logout=true");
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
                .withUser("admin").password("{noop}password").roles("ADMIN");
    }
}

在上述配置中,.loginPage("/login")指定了登录页面的URL为"/login",.defaultSuccessUrl("/home")指定了认证成功后的默认跳转页面为"/home",.failureUrl("/login?error=true")指定了认证失败后的跳转页面为"/login?error=true"。

对于Spring Security的表单认证,推荐使用腾讯云的云服务器(CVM)作为应用程序的部署环境。腾讯云的云服务器提供了高性能、可靠稳定的计算资源,可以满足应用程序的需求。您可以通过以下链接了解腾讯云云服务器的相关产品和产品介绍:腾讯云云服务器

请注意,以上答案仅供参考,具体的配置和推荐产品可能因实际需求和环境而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Security 表单登录

3.2. formLogin() 这有几种方法可以用来配置表单登录的行为: loginPage() – 自定义登录页面 loginProcessingUrl() – 提交username和password...Login Form 登录表单页面使用简单的机制将视图名称映射到URL向Spring MVC注册,且无需编写Controller: registry.addViewController("/login.html...='/login.html' 如果我们不指定这个,Spring Security将在/login上生成一个非常基本的登录表单。...登录成功页面 成功登录过程,用户将被重定向到页面 - 默认情况下,该页面是Web应用程序的根目录。...结论 在这个Spring登录示例中,我们配置了一个简单的身份验证过程 - 我们讨论了Spring安全登录表单,安全配置和一些可用的更高级的自定义。

1.6K10

spring security ajax登录返回

序 本文讲述一下如何自定义spring security登录页,网上给的资料大多过时,而且是基于后端模板技术的,讲的不是太清晰,本文给出一个采用ajax的登录返回的前后端分离方式。.../login loginPage 这里设置登录页面的地址,这里我们用静态页面,即static目录下的login.html ajax配置 将authenticationEntryPoint,successHandler...,failureHandler设置为上面自定义的ajax处理类 登录页面 就是一个纯粹的html页面,其中登录按钮的ajax请求如下: $.ajax({ url: '/login...security会默认拦截的路径,不了解spring security的人可能会纳闷,我请求这个路径,但是工程里头没有定义/login的request mapping,不要紧么。...doc spring security动态配置url权限 Spring Security笔记:自定义Login/Logout Filter、AuthenticationProvider、AuthenticationToken

2.3K20

Spring Security 实战干货:登录成功返回 JWT Token

本篇我们将一起探讨如何将 JWT 与 Spring Security 结合起来,在认证成功不再跳转到指定页面而是直接返回 JWT Token 。本文的DEMO 可通过文末的方式获取 2....我们在登录成功不在跳转到首页,将会直接返回 JWT Token 对(DEMO中为JwtTokenPair),登录失败返回认证失败相关的信息。 3....实现登录成功/失败返回逻辑 如果你看过 Spring Security 实战干货:玩转自定义登录 将非常容易理解下面的做法。...,前端根据此返回进行跳转处理逻辑,我们也实现它并注入 Spring IoC 容器: /** * 失败登录处理器 处理登录失败的逻辑 登录失败返回信息 以此为依据跳转...总结 今天我们将 JWT 和 Spring Security 联系了起来,实现了 登录成功返回 JWT Token 。

2.5K60

手摸手教你定制 Spring Security 表单登录

这就需要Spring Security支持我们自己定制登录页面,也就是本文给大家介绍的FormLogin模式登录认证模式。 1....新建登录页面 这里不再使用Security默认的页面,自己定制一个,代码如下: 单纯的一个表单登录页面,需要注意以下几个参数: action:security登录的url,可以自定义,下文介绍 username...新建首页 这个是登录成功跳转的首页,代码如下: 4....登陆成功逻辑:登录成功的处理逻辑,比如跳转到指定的页面返回特定的JSON数据,这个也是可以定制 资源访问控制规则:这个用于控制什么用户、什么角色可以访问什么资源,可以静态指定也可以从数据库中加载...简单测试 按照上述6个步骤基本实现了一个表单登录,下面测试一下 浏览器访问http://localhost:8081/hello2,第一次访问由于未登录会自动跳转到登录页面,如下图: 输入用户名和密码

70910

Spring security笔记34: 自定义登录页面

自定义登录页面 在之前的示例基础上,自定义认证的返回。 对于来自浏览器的请求,将页面重定向到自定义的登录页。 对于来自其他客户端的请求 (比如APP),已 Json 形式返回认证结果。...如不添加此项,则需要每次从 cookie 中获取 csrftoken 的值并随表单一同提交到服务端。...针对 HttpServletRequest 进行安全配置 .antMatchers("/login.html").permitAll() // login.html 页面无需登录即可访问...login.html 页面 .loginProcessingUrl("/login") // 自定义登录提交地址,默认地址是 /login, 默认处理器是 UsernamePasswordAuthenticationFilter...输入正确用户名密码,可以访问到被保护资源 总结 spring security 中,开发者可以自定义登录页的 访问地址 认证地址 用户名参数 密码参数 最后不要忘记放开登录页的访问权限。

92120

Spring Security入门(二) 基于内存存储的表单登录实战

2.1 读取用户名和密码 spring security提供了以下几种方式从HttpServletRequest中读取用户名和密码: 表单登录 Basic 认证 签名认证 2.2 存储认证信息机制 spring...实现基于内存存储的登录表单认证 3.1 在SpringBoot web项目中加入Spring Security的依赖 在本人之前的boot-demo项目的pom.xml文件中引入spring-boot-starter-security...的Servlet过滤器 bean ,这个bean负责保护应用的整个安全,包括保护请求的URL、认证提交的用户名和密码和重定向到登录表单等。...输入user的用户和应用控制台中打印的登陆密码(32位UUID)登录成功浏览器页面会出现下面的内容: 欢迎学习 Spring Security!...说明请求进入了IndexController的index方法并成功返回。 如果认证失败,则无法跳转到相应的请求方法里去,默认会一直停留在登录界面,但是可以通过配置使路由跳转认证失败的页面

69430

手把手教你定制 Spring Security 中的表单登录

Spring Security 系列继续。 前面的视频+文章,松哥和大家简单聊了 Spring Security 的基本用法,并且我们一起自定义了一个登录页面,让登录看起来更炫一些!...今天我们来继续深入这个表单配置,挖掘一下这里边常见的其他配置。学习本文,强烈建议大家看一下前置知识(松哥手把手带你入门 Spring Security,别再问密码怎么解密了),学习效果更佳。...登录页面就是你看到的浏览器展示出来的页面,像下面这个: 登录接口则是提交登录数据的地方,就是登录页面里边的 form 表单的 action 属性对应的值。...在 Spring Security 中,如果我们不做任何配置,默认的登录页面登录接口的地址都是 /login,也就是说,默认会存在如下两个请求: GET http://localhost:8080/login...:8080/login.html 前面的 GET 请求用来获取登录页面,后面的 POST 请求用来提交登录数据。

1.9K30

奇怪,Spring Security 登录成功总是获取不到登录用户信息?

1.问题复现 如果使用了 Spring Security,当我们登录成功,可以通过如下方式获取到当前登录用户信息: SecurityContextHolder.getContext().getAuthentication...具体的操作办法,大家可以看看松哥之前发布的教程:Spring Security 如何动态更新已登录用户信息?。 正常情况下,我们通过如上两种方式的任意一种就可以获取到已经登录的用户信息。...都返回 null,意味着系统收到当前请求时并不知道你已经登录了(因为你没有在系统中留下任何有效信息),这会带来两个问题: 无法获取到当前登录用户信息。 当你发送任何请求,系统都会给你返回 401。...搞明白这一点之后,再去解决 Spring Security 登录无法获取到当前登录用户这个问题,就非常 easy 了。...当我们想让 Spring Security 中的资源可以匿名访问时,我们有两种办法: 不走 Spring Security 过滤器链。

7.8K61

Spring Security入门到实践(二)表单认证实践及原理分析

一、表单登录的默认行为分析 登录认证功能是我们在日常生活中使用到最多的功能之一,现在互联网应用基本都具备表单登录能力,基本的思路都是当用户访问一个需要登录才能访问的功能,应用会提示用户没有登录,从而跳转到登录页面进行登录...也就是说需要我们登录才可以继续访问到http://localhost:8080/demo,从当前的登录页面我们无法得知填写的用户名和密码是以什么参数名的值提交到后台,后台处理当前提交数据的URL也无法看出...分析上面的行为,首先是我们访问了/demo路由,而这个路由需要登录才可以访问,所以在尚未登录的情况下访问/demo路由,直接跳转到了Spring Security默认的登录页面,输入了正确的用户名和密码...Spring Security是如何知道我们访问的路由/demo是必须登录才可以访问的? Spring Security是如何拦截我们的请求并分析到我们当前的访问是在未登录的情况下进行访问的?...Spring Security在发现我们尚未登录的情况下,是如何引导我们进入到了它的默认登录页面Spring Security是如何处理我们提交的用户名和密码的?

1.1K20

SpringSecurity

2.2 启动项目 直接启动Springboot项目然后打开,就会看到有登录页面了(Spring Security自带的)表示Spring Security...,登陆返回刚才的页面 该类需要继承WebSecurityConfigurerAdapter并重写里面的方法才能实现定制配置 @EnableWebSecurity表示开启配置类,内部有各种组合注解属于Springboot...自定义配置 我们不满足于Security提供的页面及其传参地址,那么就需要自定义 4.1 查看默认配置 .and().formLogin这个是提供默认登录表单的,我们点进去看原码,注意看其上的注释注释注释...记住我传参名 .and() .logout().logoutUrl("/logout").logoutSuccessUrl("/index.html") // 注销提交地址和返回页面....anyRequest().authenticated() // 表示登录,其余地址都能访问 ---- 参考 https://docs.spring.io/spring-security/site

57330

Spring Security 实战干货:玩转自定义登录

前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。...2. form 登录的流程 下面是 form 登录的基本流程: ? 只要是 form 登录基本都能转化为上面的流程。接下来我们看看 Spring Security 是如何处理的。 3....Spring Security 中的登录 昨天 Spring Security 实战干货:自定义配置类入口WebSecurityConfigurerAdapter 中已经讲到了我们通常的自定义访问控制主要是通过...Spring Security 聚合登录 实战 接下来是我们最激动人心的实战登录操作。 有疑问的可认真阅读 Spring 实战 的一系列预热文章。...5.1 简单需求 我们的接口访问都要通过认证,登陆错误返回错误信息(json),成功前台可以获取到对应数据库用户信息(json)(实战中记得脱敏)。

2.5K30

Spring Security (五) 动手实现一个IP_Login

在开始这篇文章之前,我们似乎应该思考下为什么需要搞清楚Spring Security的内部工作原理?按照第二篇文章中的配置,一个简单的表单认证不就达成了吗?...更有甚者,为什么我们不自己写一个表单认证,用过滤器即可完成,大费周章引入Spring Security,看起来也并没有方便多少。...而后给出一个/login作为登录端点,使用表单提交用户名和密码,而后完成登录可自由访问受限页面。...此时若点击Sign In by IP按钮,将会提交到/ipVerify端点,进行IP的认证。 ? 登录校验成功之后,页面被成功重定向到了原先访问的 ?...点击here,由于没有认证过,依旧跳转到登录页面 ? 此时,我们发现使用localhost,并没有认证成功,符合我们的预期 ?

79690
领券