springsecurity笔记

这里写图片描述

这里写图片描述

这里写图片描述

package com.imooc.security.browser;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Component;

@Component
public class MyUserDetailsService implements UserDetailsService{

    private Logger logger = LoggerFactory.getLogger(getClass());

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {


        logger.info("登陆用户名:"+username);

        //根据用户名查找用户信息
        return new User(username,"123456",AuthorityUtils.commaSeparatedStringToAuthorityList("admin"));
    }

}

2
这里写图片描述

package com.imooc.security.browser;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Component;

@Component
public class MyUserDetailsService implements UserDetailsService{

    private Logger logger = LoggerFactory.getLogger(getClass());

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {


        logger.info("登陆用户名:"+username);

        //根据用户名查找用户信息
        //return new User(username,"123456",AuthorityUtils.commaSeparatedStringToAuthorityList("admin"));
        //通过构造函数传上面的参数
        return new User(username, "123456", true,true, true, false, AuthorityUtils.commaSeparatedStringToAuthorityList("admin"));

    }

}

这里写图片描述

3
这里写图片描述

这里写图片描述

这里写图片描述

package com.imooc.security.browser;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;

@Component
public class MyUserDetailsService implements UserDetailsService{

    private Logger logger = LoggerFactory.getLogger(getClass());

    @Autowired
    private PasswordEncoder passwordEncoder;

    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {


        logger.info("登陆用户名:"+username);
        //这里是从数据库中取出来的数据
        //根据用户名查找用户信息
        //return new User(username,"123456",AuthorityUtils.commaSeparatedStringToAuthorityList("admin"));

        return new User(username, passwordEncoder.encode("123456"), true,true, true, true, AuthorityUtils.commaSeparatedStringToAuthorityList("admin"));

    }

}
/**
 * 
 */
package com.imooc.security.browser;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;




@Configuration
public class BrowserSecurityConfig extends WebSecurityConfigurerAdapter {



    //自己配制密码加密,现在用的是默认的实现类,只要实现人家的接口就可以自定义加密
    @Bean
    public PasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }



    @Override
    protected void configure(HttpSecurity http) throws Exception {


        http.formLogin()

            .and()
            .authorizeRequests()
            .anyRequest()
            .authenticated();


    }


}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/xueer88888888888888/article/details/80586537