2014-04-15 2 views
0

응용 프로그램에 로그인 할 때 사용자 주먹 이름을 표시하는 방법은 무엇입니까?로그인 한 사용자의 성 또는 이름을 표시하십시오.

이것은 mvc 템플릿과 함께 제공되지만 사용자 ID가 아닌 사용자 이름으로이 기본을 사용자 정의하고 싶습니다.

Hello , @Html.ActionLink(User.Identity.Name, "Manage", "Account", routeValues: null, htmlAttributes: new { @class = "username", title = "Manage" })! 
+0

사용자 이름의 출처는 어디입니까? –

+0

은 MVC – NilR

+1

에 내장 된 system.security.prinicipla.Iprincipla에서 가져온 것이고 User.Identity.Name은 실제로 사용자의 이름이 아니라 사용자 ID입니다. 나는 와트 @ 크레이그를 믿는다. 사용자의 이름을 어디에서 가져올 예정입니까? –

답변

1

데이터베이스에서 사용자 이름을 가져와야하는 경우 일부 방식으로보기에 사용할 수 있도록해야합니다. 옵션에는 다음이 포함됩니다.

  1. 세션에 추가.
  2. 응용 프로그램은 뷰와 컨트롤러는이 당신이 원하는 무언가인지, 설정 방법, 구성 방법에 대한 자세한 내용을 모른 채 뷰 모델

에 추가을 ViewData/ViewBag

  • 로 퍼팅 모든 페이지 또는 단 하나의 페이지, 이것이 최선의 옵션이라고 말하기는 어렵습니다.

  • +0

    쿠키 사용을 잊지 마세요. 이것은 많은 사이트가 사용하는 기술입니다. 사이트로 돌아 왔을 때 이름이 기억되지만 아무 것도하지 않으면 로그인해야합니다 ... 사용자 이름이 쿠키에 저장 되었기 때문입니다. –

    +0

    내가 쿠키를 사용함과 관련하여 몇 가지 문제점이 있습니다. (1) 클라이언트쪽에 저장되어 있습니다. 암호화하지 않는 한 조작하기 쉽습니다. (2) 모든 요청에 ​​대해 네트워크를 통해 데이터를 앞뒤로 이동하고 있습니다. (4) 쿠키를 둘러싼 EU 규칙, 사용자가 쿠키 사용을 거부하고 사용을 공개하는 것은 큰 PITA가됩니다. 이러한 이유로 나는 쿠키 사용을 다른 어떤 방법으로도 해결할 수없는 쿠키 사용으로 최소화하려고합니다. –

    +0

    누군가가 사용자의 표시 이름을 조작하는 경우 누가 신경 쓰입니까? 정말로 신경 쓰면 언급 한대로 암호화 할 수 있습니다. 20 바이트의 데이터는 엄청난 양이라고 생각하지 않습니다. EU 규칙이 교차 사이트 및 쿠키 추적에 적용되는 것으로 생각합니다. 거의 모든 .net 웹 사이트에는 여러 쿠키가 있으며 EU에서 내가 아는 사람은 누구도 쿠키를 공개하지 않습니다. –

    관련 문제