0
点赞
收藏
分享

微信扫一扫

Spring Security简介及SpringBoot整合Security

90哦吼 2022-04-16 阅读 55
java

Spring Security简介

简介

Spring Security是一个专注于为Java应用程序提供身份认证和授权的框架,它的强大之处在于它可以轻松扩展以满足自定义的需求。

特点

  • 对身份的认证和授权提供全面的、可扩展的支持。
  • 防止各种攻击,如会话固定攻击、点击劫持、csrf攻击等。
  • 支持Servlet API、SpringMVC等Web技术集成。

SpringBoot整合Security

1、引入依赖

2、用户类实现UserDetails接口,并实现方法

    /**
     *
     * @return true:账号未过期
     */
    @Override
    public boolean isAccountNonExpired() {
        return true;
    }

    /**
     *
     * @return true:账号未锁定
     */
    @Override
    public boolean isAccountNonLocked() {
        return false;
    }

    /**
     *
     * @return  true:凭证未过期
     */
    @Override
    public boolean isCredentialsNonExpired() {
        return true;
    }

    /**
     *
     * @return  true:账号可用
     */
    @Override
    public boolean isEnabled() {
        return true;
    }
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     *
     * @return  返回用户的权限集合(一个用户可以有多个权限)
     */
    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        List<GrantedAuthority> list=new ArrayList<>();
        list.add(new GrantedAuthority() {
            @Override
            public String getAuthority() {
                //type=1时代表用户为超级管理员,2代表普通用户
                switch (type){
                    case 1:
                        return "ADMIN";
                    default:
                        return "USER";
                }
            }
        });
        return list;
    }
3、UserService实现UserDetailsService接口并实现接口方法

举报

相关推荐

0 条评论