2016-08-29 2 views
0

내 애플리케이션은 로그인해야 할 기준으로 사용자 정의 토큰을 가져옵니다. 토큰이 유효한지 확인하는 사용자 지정 응용 프로그램 코드가 있습니다.사용자 및 비밀번호없이 스프링 보안 인증 토큰을 수동으로 생성하십시오.

예컨대

public class CustomAuthenticationTokenProvider implements AuthenticationProvider { 

    public Authentication authenticate(final Authentication authentication) throws AuthenticationException { 
    // logic for validating the token. This gives a validated authentication 

    ... 
    ... 

    //Here first argument to constructor is principal and 2nd argument is //credentials. 
    CustomAuthenticationToken customAuthenticationToken = new CustomAuthenticationToken(authentication.getToken(), null); 
    return customAuthenticationToken; 
} 
} 

나는 위의 검사를하고 잘 작동합니다.

쿼리 : 성공적인 인증 개체를 만들려면 자격 증명이 반드시 필요합니까? 그러한 접근에 관련된 위험이 있습니까?

답변

-1

아니요, 실제로 자격증없이 인증 된 인증 개체를 만들 수는 있지만 스스로에게 묻습니다. 자격 증명을 제공하지 않고 사용자에게 완전한 인증을 제공하므로 필터 처리 URL에 도달 할 수있는 사람은 누구나 가능합니다. 인증 받기.

이 애플리케이션 토큰을 가진 사람은 누구나 귀하의 보호 된 URL에 액세스 할 수 있으므로 매우주의해야합니다.

+0

예 사실입니다. 그러나이 경우 사용자 지정 코드를 사용하여 인증하는 키가 포함 된 요청 매개 변수를 얻고 있으며이 요청 매개 변수가 유효한 사용자 인 경우에만 성공적인 인증 토큰을 만듭니다. –

+0

이 접근법에 심각한 문제가 있습니까? –

관련 문제