2010-04-16 2 views
1

FormsAuthentication.SetAuthCookie(...)에 대한 호출에서 username 문자열의 원본 데이터 형식이 보안 또는 코드 유지 관리와 관련하여 차이가 있습니까?UserId 데이터 형식이 FormsAuthentication.SetAuthCookie (UserId.ToString(), false)에 영향을 줍니까?

내가 알고있는 것처럼 쿠키는 암호화되어 각 요청에 대해 사용자를 식별하는 데 사용됩니다. 나는 내 데이터베이스에 내 Users 테이블에 기본 키의 디자인에 영향을 미칠지 궁금하다. Guidint 또는 고유 한 사용자 이름 문자열

답변

4

FormsAuthentication.SetAuthCookie에는 사용자 키에 대한 지식이 없습니다. ASP.Net 공급자 간의 모든 상호 운용성을위한 공통 언어 인 사용자 이름이 필요합니다.

아니요, 키가 10MB BLOB 일 수 있으며 사용자가 읽을 수있는 문자열 인 Username을 FormsAuthentication.SetAuthCookie에 전달합니다.

나는 UserId의 데이터 유형이나 크기가 인증 티켓 쿠키에 영향을 미치지 않도록 UserId가 인증 티켓에 저장되어 있지 않다는 점을 알고 있습니다.

+0

'당신의 키는 10 메가 바이트 일 수 있습니다.':-) –

+0

답장을 보내 주셔서 감사합니다. UserId가 쿠키에 저장되어 있지 않으면 티켓에 어딘가에 있어야한다고 가정하고 UserId가 저장된 티켓은 어디에 저장되어 있습니까? Guid UserId = new Guid (System.Web.HttpContext.Current.User.Identity.Name);를 사용합니다. - 모범 사례인지 모르겠다. –

+0

@freshcode - ticket == 쿠키. 같은 것. UserId는 ANY 쿠키에 전달되거나 저장되지 않습니다. UserName은 쿠키에 저장됩니다. 이것은 '자연스러운 키'이며 필요한 경우 대리 키인 UserId를 찾을 수있는 사용자를 얻는 데 사용됩니다. –

관련 문제