栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringSecurity(个人笔记,入门使用)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringSecurity(个人笔记,入门使用)

1、引入依赖不配置

springBoot的启动器

		
            org.springframework.boot
            spring-boot-starter-security
		
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        

默认的账号为:user ,密码在控制台打印输出

2、编写一个 3、SpringSecurity如何获取参数的?

前端、请求为 /userLogin


controller层,写的请求是 /userLogin

@GetMapping("/userLogin")
    public String login(){
        
        return "login/login";
    }

SpringSecurity 配置类获取参数并校验

http.formLogin()
                .loginPage("/userLogin").permitAll()          //认证之前跳转的页面
                .usernameParameter("username").passwordParameter("password")
                .defaultSuccessUrl("/test")     //成功之后的跳转,重定向
                .failureUrl("/userLogin?error");    //登录失败之后的跳转,转发
               

当我表单点击提交的时候,并没有走controller层的方法(已测试)。但是我不理解SpringSecurity 是如何让表单不走controller的方法同时获取到表单里面的参数。

找到问题所在了

上面的配置类对比一下下面的配置类

http.formLogin()
                .loginPage("/userLogin").permitAll()          //认证之前跳转的页面,登录访问路径默认和登录页面路径一致
                .loginProcessingUrl("/ceshi")           //登录访问路径,这个是表单账号密码提交的路径
                .usernameParameter("username").passwordParameter("password")
                .defaultSuccessUrl("/test")     //成功之后的跳转,重定向
                .failureUrl("/userLogin?error");    //登录失败之后的跳转,转发

解释:上面的 .loginProcessingUrl("/ceshi") 如果没有写的话,登录访问路径默认和登录页面路径一致。本身这个表单就不走controller层的方法,为什么不走?很大原因是拦截器的问题(可以去看源码)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759941.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号