[Spring] localhost은(는) 사용자를 여러 번 리디렉션했습니다. / 리디렉션 한 횟수가 너무 많습니다.

yuseon Lim·2021년 12월 2일
0
post-thumbnail

😡 문제 상황

localhost은(는) 사용자를 여러 번 리디렉션했습니다.
localhost에서 리디렉션 한 횟수가 너무 많습니다.

🤔 원인 파악

URL이 무한 호출되어서 생기는 문제라고 한다.
현재 Spring-security를 사용하고 있으므로 그쪽 설정파일을 살펴보면 된다.

<security:http auto-config="true" use-expressions="true">
		<security:csrf disabled="true" />
		<security:intercept-url pattern="/"
			access="permitAll" />
		<security:intercept-url pattern="/totalCredit"
			access="isAuthenticated()" />
		<security:intercept-url pattern="/courses"
			access="isAuthenticated()" />
		<security:intercept-url
			pattern="/createEnrollment" access="isAuthenticated()" />
		<security:intercept-url pattern="/enroll"
			access="permitAll" />
		<security:intercept-url
			pattern="/enrollSuccess" access="isAuthenticated()" />
		<security:intercept-url
			pattern="/viewEnrollment" access="isAuthenticated()" />
		<security:intercept-url pattern="/resources/**"
			access="permitAll" />
		<security:intercept-url pattern="/**"
			access="denyAll" />
		<security:form-login login-page="/login"
			authentication-failure-url="/login?error" />
	</security:http>

이부분인데, 잘보면 /login에 대한 명시적인 권한 지정을 하지 않았다.

✨ 해결

따라서 로그인 페이지는 모두가 접근 가능해야 하므로 permitAll 선언 해주면 된다.

<security:http auto-config="true" use-expressions="true">
		<security:csrf disabled="true" />
		<security:intercept-url pattern="/"
			access="permitAll" />
		<security:intercept-url pattern="/login"
			access="permitAll" />
		<security:intercept-url pattern="/totalCredit"
			access="isAuthenticated()" />
		<security:intercept-url pattern="/courses"
			access="isAuthenticated()" />
		<security:intercept-url
			pattern="/createEnrollment" access="isAuthenticated()" />
		<security:intercept-url pattern="/enroll"
			access="permitAll" />
		<security:intercept-url
			pattern="/enrollSuccess" access="isAuthenticated()" />
		<security:intercept-url
			pattern="/viewEnrollment" access="isAuthenticated()" />
		<security:intercept-url pattern="/resources/**"
			access="permitAll" />
		<security:intercept-url pattern="/**"
			access="denyAll" />
		<security:form-login login-page="/login"
			authentication-failure-url="/login?error" />
	</security:http>
profile
🔥https://devyuseon.github.io/ 로 이사중 입니다!!!!!🔥

0개의 댓글