2013-07-22 3 views
0

나는 내 자신의 인증 구현을 사용해야하는 웹 프로젝트를 만들고있다. (네, 저는 이것이 권장 사항이 아니라는 사실을 완전히 알고 있습니다.하지만이 방법으로해야합니다 ...). 이제는 인증이 성공하면 로그인 한 사용자에 대해 새 HttpSession을 만들고 싶습니다. 그러나 스프링 보안 플러그인을 사용하지 않고이 작업을 수행 한 소스를 찾을 수 없습니다. 사용자를위한 새로운 HttpSession?Grails 2.2.3 - 새로운 HTTP 세션을 만드는 법?

그래서, 내가 무엇을 달성하고자하는 (사용자가 세션 ID와 이미 세션을 갖고) 다음과 같은 시나리오

로그인 페이지입니다 ->의 사용자 로그 -> 로그인 자격 증명을 확인하고있는 새로운 세션을 생성 로그인 성공시 새 세션 ID -> 로그인 한 사용자에 대한 새 세션에 대한 작업. 나는 구문을 확인하지 않은 (당신이

// get rid of any existing session 
session().invalidate() 
// create a new session 
request.session(true) 

식으로 뭔가를 할 수 없어, 컨트롤러에서

+0

정말 원하든 원하지 않든 세션에서 userId를 session [ id "] = 및 확인을 수행 할 수 있습니다. n 필터에 대한 세션 및 로그인 컨트롤러 제외 또는 auth 작업 (로그인 -> 인증 작업에 대해 이러한 이름이있는 경우) –

+0

@SaurabhDixit는 아이디어에 감사드립니다.하지만 내가 만든대로 사용할 수는 없다고 생각합니다. 세션 당 사용자 객체 및 로그 아웃시 세션을 파괴하지만 사용자가 다른 응용 프로그램을 시작하고 다른 세션에서 작업 할 수있게하여 시작된 응용 프로그램에 대한 새 사용자를 만들 수있게하려고합니다. 너무 이상하지만, 기본적으로 내가 구현하려고하는 것입니다;) – herom

답변

3

)

나는 누군가가 내가 정말 필요로이 좀 도와 수 있기를 바랍니다 이 ..... 그리고 나는 보통 Java에서 잘 작동하기 때문에 잘못되었을 수도 있지만 드리프트를 얻는다.

+0

나는 그것을 시도해 볼께 - 고마워! – herom

+0

그것이 작동합니다 - 많이 고마워요! 이제는 하나의 문제 만 남았습니다. 사용자 당 세션 범위 서비스를 생성합니다. 그러나 삽입 된'session' 객체 나'request.session' 객체에서'.invalidate'를 호출하면 내 서비스도 파괴 된 것으로 보입니다 ... 내 서비스 클래스에서 그 세션을 다른 세션 범위의 bean이나 그와 비슷한 것으로 옮겨야 만하는 것처럼 보입니다. – herom

+0

나는 주입 세션과 request.session을 다른 것으로 생각해야한다고 생각하지 않습니다. 위의 코드는 하나의 세션을 삭제하고 새 세션을 만드는 것입니다. 위의 @SaurabhDixi 님의 의견에 대한 귀하의 답변에서, 나는 당신이 사용하지 않아도되는 방식으로 세션을 사용하려고 시도했을 것입니다. 동일한 사용자에 대해 동시에 두 개의 세션을 실행하는 것은 일반적이지 않습니다. – DaveH