当前位置: 首页 > 知识库问答 >
问题:

在Spring Boot中创建自定义安全配置时出错

全兴运
2023-03-14

ConfigServletWebServerApplicationContext:上下文初始化过程中遇到异常-取消刷新尝试:org.springframework.beans.factory.unsatisfieddependencyException:创建名为“security config”的bean时出错:通过字段“reader repository”表示的不满足依赖项;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“Reader Repository”的bean时出错:调用init方法失败;嵌套异常为java.lang.IllegalArgumentException:不是托管类型:class java.io.Reader

package com.example.readinglist;

import java.io.Reader;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Repository;

@Repository
public interface ReaderRepository extends JpaRepository<Reader, String> {

    UserDetails findOne(String username);

}

ReadingListApplication:

package com.example.readinglist;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ReadinglistApplication {

    public static void main(String[] args) {
        SpringApplication.run(ReadinglistApplication.class, args);
    }

}
package com.example.readinglist;

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{

    @Autowired
    private ReaderRepository readerRepository;


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

        http.authorizeRequests()
        .antMatchers("/")
        .access("hasRole('Reader')")
        .antMatchers("/**").permitAll().and().formLogin().loginPage("/login")
        .failureUrl("/login?error=true");
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {

        auth.userDetailsService(new UserDetailsService(){

            @Override
            public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
                return readerRepository.findOne(username);
            }
        });
    }
}

共有1个答案

王昆
2023-03-14

您导入了错误的读取器实体-->您导入了“import java.io.Reader;”您需要导入您的自定义阅读器实体类。

 类似资料:
  • 我正在使用Spring Boot创建一个访问数据库的简单web应用程序。通过在中设置属性,我利用了DataSource的自动配置功能。这一切都很出色,而且非常快--伟大的工作伙计们@Spring! 我公司的政策是不应该有明文密码。因此,我需要对进行加密。经过一番深入研究,我决定创建一个实现,该实现创建一个jasypt,如下所示: 然后,我用文件将其打包到它自己的jar中,如下所示: 当在maven

  • 我有一个方法来发送一些,并获得响应: 这很有效。然而,为了使超时时间可定制,我在本教程中提供了以下: 因此,类将调用restTemplate,如下所示: 但不幸的是,在构建应用程序时返回以下错误: 仅供参考,错误远不止上面显示的。 第一行是这样的:

  • UnsatisfiedDependencyException:创建名为“Test Controller”的bean时出错:通过字段“Test Service”表示不满足的依赖关系;嵌套异常是org.springframework.beans.factory.beanCreationException:创建名为“test service”的bean时出错:调用init方法失败;嵌套异常是java.l

  • 下面是我的FragmentActivity和DialogFragment。我尝试创建一个自定义AlertDialog。我已经部分实现了如下图所示。如何消除自定义AlertDialog周围的白色区域? 下面是我的alertdialog布局xml fragment_dialog.xml

  • 我的代理配置是: 为什么这样?他们的jms配置有问题吗?请引导我。

  • 用例-有一个带有消息的主题(空,元数据)。我需要从主题创建一个Ktable,其键(metadata.entity_id)和值为metadata。这个表稍后将被用来与具有相同键的流进行连接。 一旦我将消息推送到主题-METADATA_TOPIC。这会导致以下错误。我在这里遗漏了什么吗?kafka-stream 2.2.0