inflearn logo
강의

講義

知識共有

スプリングセキュリティ

AuthenticationManagerとAuthentication

spring security설정파일에서 어노테이션으로 정의한 서비스가 인식이 안돼요

562

ckaqudwhgtlrdkTl

投稿した質問数 20

0

안녕하세요.수업 열심히 잘 듣고 있습니다. 근데 환경이 다르니 힘들긴 하네요.

뭐 어쨌든 현재 스프링을 xml에 설정파일로 등록하여 사용하고 있습니다. 

web.xml에

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- The definition of the Root Spring Container shared by all Servlets 

and Filters -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/config/security-config.xml</param-value>

</context-param>

=================================

spring 설정파일

<security:authentication-manager>

<security:authentication-provider user-service-ref="loginService">

</security:authentication-provider>

</security:authentication-manager>

================================

UserDetailsService를 커스트마이징해서 사용하려는데

@Service("loginService")

public class SecurityLoginService implements UserDetailsService {

spring security설정 파일에서 어노테이션을 인식 못하는지 서버가 start될때 아래와 같은 메시지가 출력됩니다.

No bean named 'loginService' is defined 

spring security설정파일에

<import resource="spring-config.xml" />

를 추가하고 restart하면 오류가 발생하지 않습니다.

이렇게 하지 않고 인식시키는 방법이 없을까요?

spring java

回答 4

0

ckaqudwhgtlrdkTl

@Service어노테이션 붙이고 component-scan으로 추가하면 빈으로 등록되는거 아닌가요? 이렇게 해서 mybatis랑 연동해서 web개발을 잘 하고 사용하고 있었는데 spring security와 연동하면서 위에서 질문했던 것들이 궁금해서 여쭤봤던 것입니다. @Service어노테이션을 이용해서 빈을 등록하는 것이 제가 잘못 알고 있는 것이 있는지 스프링 핵심 기술의 이해라는 강좌도 신청해서 들어봤는데 비슷하게 말씀하시는거 같던데...제가 뭘 잘못알고 있었나보네요..질문이 기분나쁘셨다면 죄송합니다.

0

whiteship

@Service라는 애노테이션만 붙이면 빈으로 등록되나요?

0

ckaqudwhgtlrdkTl

아 빈은 어노테이션으로 @service등록했습니다. (빈의 이름도 loginService로 등록하였습니다. - 패키지도 인식할 수 있도록 모두 등록했습니다.) 스프링 설정 파일과 스프링시큐리티 설정 파일을 따로 만들고 작업하는데 

<security:authentication-manager>

<security:authentication-provider  user-service-ref="loginService">

</security:authentication-provider>

</security:authentication-manager>

만 하면 loginService빈을 인식 못하고

<security:authentication-manager>

<security:authentication-provider  user-service-ref="loginService">

</security:authentication-provider>

</security:authentication-manager>

<import resource="spring-config.xml" />

이렇게 <import>문으로 spring설정 파일을 추가해야 인식해서 제가 놓치고 있는 것이 있는지 궁금해서 여쭤봤습니다.

0

whiteship

빈으로 등록하지 않고 어떻게 빈으로 주입을 받아서 사용하시려구요. 스프링 핵심 기술의 이해라는 강좌는 혹시 수강하셨는지요?

커스텀 로그인 페이지를 등록할 경우 LogoutFilter의 등록 여부 질문

0

384

1

anonymousClass를 사용하는 이유

0

387

1

ExcpetionTranslationFilter가 FilterSecurityInterceptor에서 발생하는 예외만 처리하는 이유

0

242

1

Principal 인터페이스와 User 클래스의 관계

0

756

1

passwordEncoder 질문드립니다.

0

320

1

WebSecurityConfigurerAdapter is deprecated 가 불편하신 분들을 위해

6

864

1

왜 스프링은 userid가 아니고 username을 사용했을까요?

0

1022

1

무상태성

0

347

2

로그인 후 로그인 페이지 접속

0

282

1

AuthenticationException은 어떤 경우에 발생하는지

0

557

1

AccountService에 비밀번호

1

225

1

커스텀 어노테이션 의 `커스텀 value` 설정방법에 관한 질문입니다.

0

356

1

passwordEncoder 빈 생성 시 차이

0

254

1

Bean 등록 관련 질문입니다.

0

248

1

시큐리티 전략관련

0

355

3

브라우저 기반 요청이 클라이언트의 요청을 처리 -> 의 의미?

0

228

1

AccountControllerTest 실행오류

0

1066

1

알려주신대로 설정을 해도 다시 302요청을 보냅니다....

0

342

1

voter에 대해 질문이 있습니다.

0

226

1

제가 맞게 이해한것인지 궁금합니다.

1

234

1

Spring security test 수행시 @AuthenticationPrincipal 가 null 로 세팅됨

0

550

1

Spring security Multi 인증 문의드려요

0

290

1

ProviderManager 문의

0

269

1

UserDetailsService 가 DaoAuthenticationProvider 에 어떻게 주입 되는지 알 수 있을 까요?

0

328

1