SpringSecurityWeb权限方案

1、设置登录系统的账号、密码

方式一:在 application.properties

spring.security.user.name=qaqaq
spring.security.user.password=123456

方式二:通过配置类

在Spring Security 5.7.0-M2中,Spring就废弃了WebSecurityConfigurerAdapter

因为Spring官方鼓励用户转向基于组件的安全配置

参考如下两篇文章:

没有 WebSecurityConfigurerAdapter 的 Spring Security

Spring Security6配置方法(废弃WebSecurityConfigurerAdapter)_java_脚本之家 (jb51.net)

我的Spring Security版本为6.3.3

则编写配置类代码如下:

@Configuration
public class SecurityConfig {

    @Bean
    public InMemoryUserDetailsManager userDetailsService() {

        BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
        String password = passwordEncoder.encode("123456");

        UserDetails user = User.withDefaultPasswordEncoder()
                .username("qaqaq")
                .password(password)
                .roles("admin")
                .build();
        return new InMemoryUserDetailsManager(user);

    }

}

加密后没实现,不加密没问题,将withDefaultPasswordEncoder() 换成 builder() 可以实现加密

思维导图如下:

方式三:编写类实现接口

实际上 Spring Security 6.3.3 中如上述图片编写是不行的,

@Configuration
public class SecurityConfigTest {

    @Autowired
    private UserDetailsService userDetailsService;

    @Bean
    public InMemoryUserDetailsManager userDetailsService() {
        UserDetails user = userDetailsService.loadUserByUsername("qaqaq");
        return new InMemoryUserDetailsManager(user);
    }

    @Bean
    PasswordEncoder password() {
        return new BCryptPasswordEncoder();
    }

}
//@Service("userDetailsService")
@Service
public class MyUserDetailsService implements UserDetailsService 

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        if (username.equals("qaqaq")) {
            List<GrantedAuthority> auths = AuthorityUtils.commaSeparatedStringToAuthorityList("role");
            return new User("qaqaq", new BCryptPasswordEncoder().encode("123456"), auths);
        }
        return null;
    }

}

这种写法也还是不行,没有实现

思维导图如下:

2、实现数据库认证来完成用户登录

思维导图如下:

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇