2009-09-28 5 views
0

내 사용자 지정 권한 부여 태그에서 사용자 역할을 확인할 때 세 번째 값이 필요합니다. 내장 된 것처럼 이것을 허용합니다.쿠키에 항목을 추가하고 가져옵니다. Asp.net MVC C#

"filterContext.HttpContext.User.Identity.Name;"

하지만 같은 이름을 가진 사용자가 많기 때문에이 기능이 작동하지 않습니다. 그래서 나는 내가 같은 이름으로 10을 가지고있을 때 이것이 나를 도울 것이라고 생각하지 않는다. 그리고 나는 그들로부터 GUID를 끌어 올려야한다.

로그인 할 때 다른 필드를 사용하여 사용자에게 알립니다.

그래서 궁금 내가 보여줄 수있는 3 쿠키 필드 (또는 User.Identity.Name 함께 수행하지만)하고 안전하도록 쿠키를 암호화하고

그런 짓을 " filterContext.HttpContext.User.Identity.UnquieField; "

+0

쿠키에 정확히 무엇이 필요합니까? 첫 번째와 두 번째 값은 무엇입니까? – Tinister

+0

죄송합니다. 2 번째 (로그인 할 때 생각하고 3 번째 비밀번호로 생각합니다) 값이어야합니다. 첫 번째 값은 사용자 이름이고 두 번째 값은 동일한 그룹의 사용자에게주는 일부 preifx입니다. 그것은 내가 prefiex와 userName을 보면서 많은 그룹을 가질 수있게했다. 나는 userName을 중복 할 수는 있지만 여전히 그들이 누군지 알고있다. 접두어가 다른 한 동일한 UserName을 사용할 수 있습니다. 접두어가 사용되고 userName이 사용되면 해당 이름은 거부됩니다. – chobo2

답변

0

일반적으로 쿠키에 여러 값을 저장해야하는 경우 가벼운 클래스를 만들고 클래스를 쿠키 값으로 serialize/deserialize하려면 Json.NET을 사용하십시오. 당신은 그러나, 그러나 당신이 좋아하는 포맷 할 수

사용자 = {1 그룹 사용자 이름 : : : bob123, 접두사} 따라서 쿠키는 다음과 같이 보일 것이다. Json이 너무 무거울 경우 "user = bob123, group1"과 같은 간단한 작업을 수행 할 수 있습니다.

중요한 점은 컨트롤러가 사용자 이름과 접두어를 쿠키 값에서 파싱/파싱 할 논리를 필요로한다는 것입니다.

+0

쿠키에 어떻게 추가합니까? 이게 User.Identity.Name의 기능인가요? 이 구문 분석은 내 customAttribute에서 발생합니다. – chobo2

+0

나는 그런데 FormsAuthentication.SetAuthCookie를 사용하고 있습니다. 확실하지 않으므로 다른 방법으로이 작업을 수행해야합니까? – chobo2

관련 문제