Springboot spring security 从数据库查权限

spring security

spring security 入门

先来说一下spring security的运行逻辑吧。

首先任何访问服务器的请求都会被拦截下来,之后由 spring security 进行判断什么样的请求能过,什么样的请求需要什面样的权限才能访问。而我们要做的就是配置一下这个请求需要的权限,听起来和拦截器差不多,但是 spring security 想的比较全面,而我们写的可能不够全面所以还是使用spring security框架更方便。

配置分几步。

  1. 首先要配置权限,什么样的路径让什么样的权限访问。

    @Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter {
         
    
        @Autowired
        CustomUserDetailsService customUserDetailsService;
    
        //配置那些用户有那些权限
        @Override
        protected void configure(AuthenticationManagerBuilder auth) throws Exception {
         
    		//使用userDetailsService 进行权限判断
            auth.userDetailsService(customUserDetailsService).passwordEncoder(passwordEncoder());
            //使用内存对象进行权限判断
    	    auth.inMemoryAuthentication(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以按照以下步骤整合Spring Boot和Spring Security,并从数据库权限: 1. 添加Spring Security依赖项。 在pom.xml文件中添加以下依赖项: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ``` 2. 配置Spring Security。 在配置文件中添加以下配置: ``` spring.security.user.name=admin spring.security.user.password=admin spring.security.user.roles=ADMIN ``` 这将创建一个具有用户名“admin”,密码“admin”和ADMIN角色的用户。 3. 创建用户和角色实体类。 创建一个用户实体类和一个角色实体类,它们将映射到数据库表。 4. 创建用户和角色的Repository。 创建一个用户和角色的Repository,用于从数据库询用户和角色信息。 5. 实现UserDetailsService接口。 创建一个实现UserDetailsService接口的类,该类将数据库并返回一个UserDetails对象,其中包含用户的详细信息和权限。 6. 配置Spring Security。 在配置文件中添加以下配置: ``` spring.security.user.name=admin spring.security.user.password=admin spring.security.user.roles=ADMIN spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=root spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.hibernate.ddl-auto=update spring.security.oauth2.client.registration.google.client-id=xxxxxxxxxxx spring.security.oauth2.client.registration.google.client-secret=xxxxxxxxxxx spring.security.oauth2.client.registration.google.scope=profile,email,openid ``` 这将配置Spring Security使用数据库中的用户和角色信息。 7. 创建SecurityConfig类。 创建一个SecurityConfig类,该类将配置Spring Security,包括启用数据库身份验证和授权,并配置自定义UserDetailsService。 8. 测试应用程序。 启动应用程序并使用创建的用户名“admin”和密码“admin”进行身份验证。如果验证成功,则可以访问具有ADMIN角色的受保护资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值