inflearn logo
강의

Khóa học

Chia sẻ kiến thức

mùa xuân an ninh

Trình quản lý xác thực và xác thực

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

562

ckaqudwhgtlrdkTl

20 câu hỏi đã được viết

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

Câu trả lời 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