spring security 为用户授权

XINAC 2022-07-2210:30:17来源:https://blog.xinac.cn
评论
141 729字
摘要

spring security 为用户授权示例代码;模拟登录,虚拟授权

    // UserDetails userDetails = sysUserDetailsService.loadUserByUsername("user");
    UserDetails userDetails = org.springframework.security.core.userdetails.User
            .withUsername("user")
            .password("password")
            .passwordEncoder(s -> PasswordEncoderFactories.createDelegatingPasswordEncoder().encode(s))
            .roles("USER")
            .build();
    if (userDetails != null) {
        UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
        authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
        SecurityContextHolder.getContext().setAuthentication(authentication);
    }

正常情况下,UserDetails通过UserDetailsService.loadUserByUsername("")获取,上述代码可用于:

1、模拟用户登录

2、接口调试时为用户授权

3、业务之外的虚拟授权

4、and so on...

 

weinxin
新逸IT技术
扫一扫关注微信公众号
XINAC
  • 版权声明 本文源自 https://blog.xinac.cn 整理 发表于 2022-07-2210:30:17
  • 转载请注明:https://www.xinac.net/9279.html
Java设计模式十三:模板模式 软件程序

Java设计模式十三:模板模式

模板(Template Method)模式:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定