2013-12-16 1 views
1

CAS을 사용하는 동안 사용자가 자신의 자격 증명을 입력하고 다른 사람으로 로그인하면 으로 로그인 할 수 있습니까? 현재 CAS 3.4.8과 CAS를 사용하는 클라이언트로 스프링 보안 코어 및 CAS를 사용하는 grails-app을 사용하고 있습니다. CAS 서버에 대한 일부 사용자 지정이 수행되었지만 CAS 서버의 전반적인 흐름에는 적용되지 않았습니다.CAS : 다른 사용자로 로그인 한 사용자

그래서 CAS 서버의 버그입니까? 이 문제와 유사한 다른 알려진 사례가 있습니까?

EDIT 1 문제가 해결되었습니다. url에 따라 달라지는 CAS 용 사용자 정의 테마를로드하기 위해 서블릿 필터를 사용하고있었습니다. 이로 인해 동시성 문제가 발생했습니다. 나는 로직을 스프링 빈으로 옮겨서 login-weblow.xml로 옮겼다. 문제는 해결되었다.

+0

어떤 종류의 사용자 정의가 이루어 졌습니까? 결정 론적입니까? –

+0

Szymon에서는 사용자가 로그인 할 때 자격 증명을 게시하면 인증을 위해 사용자 지정이 수행되었습니다. 이것은 로그인하는 동안 한 번만 클릭되며 나머지 웹 흐름은 동일합니다. –

+0

동일한 CAS를 사용하는 여러 응용 프로그램이있을 수 있습니다. 나는 당신이 다른 사람이 아니라 하나에서 로그 아웃했다고 생각합니다 ... –

답변

1

저는 CAS 의장입니다. 그런 종류의 버그에 대해서는 들어 본 적이 없습니다. "다른 사람으로 기록됨". 나는 그 범인이 당신의 커스터마이징이라고 생각하는 경향이 있습니다. 당신은 멀티 스레딩 측면을 제대로 고려하고 있습니까?

+0

jleleu, 어쨌든 티켓을 생성하는 동안 사용되는 UsernamePasswordCredentials 객체 (ST, TGT 등)가 다른 사용자와 교환됩니다. 이 문제는 복제하기가 매우 어려우며 95 %가 발생하지 않습니다. 또한, 당신이 이야기하고있는 멀티 스레딩에 대해 좀 더 알려주시겠습니까? 감사합니다. –

+1

비 결정적이라면 거의 확실합니다. 경쟁 조건이 관련되어 있습니다. 응용 프로그램 범위 Bean (Spring)이 세션 관련 데이터를 저장하지 않는지 확인하여 시작할 수 있습니다. –

+1

Szymon의 조언을 따르거나 사용자 정의 된 bean이 사용자의 데이터를 저장하기 위해 인스턴스 특성을 사용하는지 확인하십시오. – jleleu