강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

deoksam님의 프로필 이미지
deoksam

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

서블릿 필터 - 인증 체크

화이트 리스트 경우 인증체크 메서드 질문

해결된 질문

작성

·

340

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

requestURI와 whitelist에 있는 값이 매칭이 된다면 인증체크를 하고, 매칭되는 값이 없다면 인증체크를 하지않는 함수인거는 이해했습니다.

리턴값 코드 이해가 잘 안되는거같아서 질문 남깁니다.

위 아래 코드가 같은건가요 ? 강사님이 알려주신 코드는 이해가 잘 안가서 다시한번 짜봤습니다 ㅠㅠ

private boolean isLoginCheckPath(String requestURI){

    if(PatternMatchUtils.simpleMatch(whitelist,requestURI)){
        return false;
    }
    return true;
}
private boolean isLoginCheckPath(String requestURI){

    return !PatternMatchUtils.simpleMatch(whitelist,requestURI);

답변 1

1

안녕하세요. deoksam님, 공식 서포터즈 y2gcoder입니다.

같은 코드가 맞습니다! 결국

PatternMatchUtils.simpleMatch(whitelist, requestURI) 의 반환값이 boolean 이고, 해당 값이 true 일 때는 false, false일 때는 true를 반환해야 하기 때문에 이를 축약해서 저렇게 작성할 수 있습니다. 아래는

각각 보여주셨던 것처럼 if 문을 이용한 것, 삼항 연산자, 그리고 최종 축약형입니다. 보시면서 이해하시는데 도움이 되셨으면 좋겠습니다!

private boolean isLoginCheckPath(String requestURI){

    if(PatternMatchUtils.simpleMatch(whitelist,requestURI)){
        return false;
    }
    return true;


}
private boolean isLoginCheckPath(String requestURI){
    //return PatternMatchUtils.simpleMatch(whitelist,requestURI) ? false : true;
    return !PatternMatchUtils.simpleMatch(whitelist,requestURI) ? true : false;
}
private boolean isLoginCheckPath(String requestURI){
    return !PatternMatchUtils.simpleMatch(whitelist,requestURI);
}

감사합니다.

deoksam님의 프로필 이미지
deoksam
질문자

친절한 답변 감사합니다 !

deoksam님의 프로필 이미지
deoksam

작성한 질문수

질문하기