Spring Security

1,Spring Security介绍

在开发过程中,我们常常涉及用户权限登陆,用来验明身份和赋予指定权限,达到保护项目安全和项目访问效果等。基于此,Spring家族提供了Spring Security用于解决安全访问的框架,在Spring Boot中可以对其进行整合并且还提供了自动化配置

2,入门

Authentication(认证,确认用户是否登陆并进行管控)
Authorization(授权,指定用户有指定权限并对其管控)

3,MVC Security

WebSecurityConfigurerAdapter用来管理安全框架的配置,如果开发者想去自定义安全管理,需要实现这个这接口。自定义一个类,然后实现接口或者其他类。配置通常会被@Configration注解修饰。实现抽象方法、或者重写父类或者父接口中的部分方法。

4,自定义用户认证

WebSecurityConfigurerAdapter提供了5中用户自定义认证。使用configure(AuthenticationManagerBuilderauth)方法来完成用户的自定义认证
自定义用户认证方式分类见下: 内存身份认证·JDBC身份认证 身份详情服务认证0 LDAP身份认证(了解) 身份认证提供商

4.1自定义用户认证的管理

 @EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
 /**自定义用户认证的管理**/
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws  Exception{
/**
 *1.基于内存认证:
 默认的登录页面:用户的登录信息,包含用户的名称、密码
 **1.如何在内存中声明一组用户名车密码?
**2.将用户内存中的信息关联上AuthenticationManagerBuilder对象上
 * **/
       /**表示获取密码的编码器**/
       //必须要指定,否则启动程序会报错
        BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
        /**表示基于内存认知  inMemoryAuthentication() 用户密码必须加密 **/
        auth.inMemoryAuthentication().passwordEncoder(encoder)
                //设置用户名、设置按照指定密码器的初始化密码、设置了tom这个用户对应的角色(表示common目录下的的资源可以被访问)
                .withUser("tom").password(encoder.encode("123456")).roles("common")
                .and()//表示同时声明一组用户信息的初始化配置
                .withUser("lzl").password(encoder.encode("123456")).roles("vip");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值