2013-03-01 1 views
3

세션 인증 모듈을 사용하여 사용자 쿠키를 인증 쿠키에 저장하고 있습니다.SAM (Session Authentication Module)을 사용할 때 클레임을 업데이트하는 방법

로그인하는 동안 사용자의 소유권 주장을 업데이트하는 권장 방법은 무엇입니까? 예를 들어 프로필 (이름/성)을 업데이트하고 관련 소유권 주장을 업데이트하고자하는 경우를들 수 있습니다.

이 경우 사용자를 로그 아웃하지 않으려면 DeleteSessionTokenCookie을 사용할 수 없습니다.

+0

FederatedSignOut을 사용할 수도 있습니다. http://stackoverflow.com/questions/8037598/windows-identity-foundation-sign-out-or-update-claims –

+0

@DanilaPolevshikov 사용자에게 서명하고 싶지 않습니다. 아웃. –

답변

4

새 세션 쿠키를 SAM.WriteSessionTokenToCookie로 설정하십시오.

+0

이렇게하면 사용자가 방금 로그 아웃됩니다. –

+0

브록은 Jabbr에게 올바른 방향으로 나를 지적했다. 업데이트 된'ClaimIdentity'를 생성 할 때 Auth Type을 지정하지 않았습니다. –

+1

자세히 설명해주십시오 - 어떻게 문제를 해결 했습니까? WriteSessionTokenToCookie 호출에 어떤 sessionToken을 지정해야하는지 잘 모르겠습니다. –

1

최소 일반 사용자의 대답이 정확합니다.

var sam = FederatedAuthentication.SessionAuthenticationModule; 
if (sam != null) 
{ 
    var token = new SessionSecurityToken(claimsPrincipal); 
    sam.WriteSessionTokenToCookie(token); 
} 

here에서 코드를 빼서 :

그러나 비제이 V의 의견에 응답

, 여기 당신의 청구 교장에게 새로운 주장을 추가 한 후 쿠키를 업데이트하는 방법에 대한 예제 코드입니다.