首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Grails3.0中配置Spring安全性以使用BCrypt密码编码

在Grails3.0中配置Spring安全性以使用BCrypt密码编码
EN

Stack Overflow用户
提问于 2015-05-27 18:54:42
回答 1查看 14.9K关注 0票数 6

在Grails3.0中,如何指定Security应该使用BCrypt进行密码编码?

以下几行应该提供我认为需要做的事情(但我只是猜测):

代码语言:javascript
复制
import org.springframework.security.crypto.password.PasswordEncoder
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder

PasswordEncoder passwordEncoder

passwordEncoder(BCryptPasswordEncoder)

我的应用程序将spring-boot-starter-security加载为依赖项:

build.gradle

代码语言:javascript
复制
dependencies {
   ...
   compile "org.springframework.boot:spring-boot-starter-security"

我有一个连接到userDetailsService的服务,它使用:

conf/spring/resources.groovy

代码语言:javascript
复制
import com.example.GormUserDetailsService
import com.example.SecurityConfig

beans = {
   webSecurityConfiguration(SecurityConfig)
   userDetailsService(GormUserDetailsService)
   }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-31 15:08:07

我在grails-app/conf/spring/resources.groovy中有以下代码

代码语言:javascript
复制
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder

beans = {
    bcryptEncoder(BCryptPasswordEncoder)
}

我有一个java文件,它执行spring-security描述的配置。在groovy中也应该可以这样做,但我是在java中完成的。

代码语言:javascript
复制
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.annotation.web.servlet.configuration.EnableWebMvcSecurity;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;

@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
    @Autowired
    BCryptPasswordEncoder bcryptEncoder;

    @Autowired
    UserDetailsService myDetailsService

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
            // userDetailsService should be changed to your user details service
            // password encoder being the bean defined in grails-app/conf/spring/resources.groovy
            auth.userDetailsService(myDetailsService)
                .passwordEncoder(bcryptEncoder);
    }
}
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30490862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档