當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
[SpringSecurity]web权限方案_用户认证_设置用户名密码
生活随笔
收集整理的這篇文章主要介紹了
[SpringSecurity]web权限方案_用户认证_设置用户名密码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
設置登陸的用戶名和密碼
第一種方式:通過配置文件
spring.security.user.name=atguigu spring.security.user.password=atguigu第二種方式:通過配置類
package com.atguigu.securitydemo1.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; 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 SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(AuthenticationManagerBuilder auth) throws Exception {BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();String password = passwordEncoder.encode("123");auth.inMemoryAuthentication().withUser("lucy").password(password).roles("admin");}//密碼要加密,可是要用到PasswordEncoder這個接口, //所以我們要給這個接口創(chuàng)建一個對象,因為它做加密的時候要找這個對象 //找不到就要報錯!!!@BeanPasswordEncoder password(){return new BCryptPasswordEncoder();} }第三種方式:自定義編寫實現(xiàn)類
第一步 創(chuàng)建配置類,設置使用哪一個userDetailsService實現(xiàn)類
package com.atguigu.securitydemo1.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.web.builders.WebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;@Configuration public class SecurityConfigTest extends WebSecurityConfigurerAdapter {@Autowiredprivate UserDetailsService userDetailsService;@Overrideprotected void configure(AuthenticationManagerBuilder auth) throws Exception {auth.userDetailsService(userDetailsService).passwordEncoder(password());}@BeanPasswordEncoder password(){return new BCryptPasswordEncoder();} }第二步 編寫實現(xiàn)類,返回User對象,User對象有用戶名密碼和操作權限
package com.atguigu.securitydemo1.service;import org.springframework.security.core.GrantedAuthority; 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.bcrypt.BCryptPasswordEncoder; import org.springframework.stereotype.Service;import java.util.List;@Service("userDetailsService") public class MyUserDetailsService implements UserDetailsService {@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {List<GrantedAuthority> auths = AuthorityUtils.commaSeparatedStringToAuthorityList("rold");return new User("marry",new BCryptPasswordEncoder().encode("123"),auths);} }總結
以上是生活随笔為你收集整理的[SpringSecurity]web权限方案_用户认证_设置用户名密码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C盘中的无用文件如何清理
- 下一篇: 用Pr如何给视频制作出倒放效果