SpringSecurity之一:web快速了解

官网文档:Hello Spring Security :: Spring Security

JDK:1.8版本,使用IDEA快速搭建一个SpringBoot web项目,或者官网上下载一个demo

一、引入依赖

因为SpringBoot可以直接集成SpringSecurity,所以POM中加上依赖直接可用

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

pom中依赖如下图:

二、编写请求接口

三、验证

项目启动后,访问:http://localhost:8080/test/one,可以看到跳转到了一个登录页面,通过浏览器的开发者工具,可以看到由/test/one重定向到了登录接口/login

 这个页面是security自身的,也可以配置成自己的登录页。账号和密码在未配置之前都是security默认的。账号默认是user,密码是随机生成的,在每次项目启动时会打印出来。源码在SecurityProperties中

 项目启动时,打印的密码日志

登录成功后 

四、设置账号密码 

如果想要自己设置账号密码,有三种方式:

4.1 配置中设置

4.2 配置类中设置

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
        String password = encoder.encode("1234");
        auth.inMemoryAuthentication().withUser("janice").password(password).roles("admin");
    }
DetailsService(myUserDetailService).passwordEncoder(passwordEncoder());

    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }

}

注意:密码需要经过加密处理,可以自己实现PasswordEncoder接口,也可以使用security里的加密方法,实现类需要注册成bean,不然会报错

加密类没有注册

密码没有加密

4.3 自定义登录

 最常用的一种方式,数据库查询用户信息,实现用户登录逻辑,单独一章:SpringSecurity之二:web自定义用户登录_auth.userdetailsservice-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值