사용자 지정 멤버십 공급자를 만들었으므로 UserName 대신 MembershipUser.ProviderUserKey
을 사용하는 것이 더 편리합니다. 그래서, 같은 코드를 수행 ProviderUserKey
을 검색 할 수 :ASP.NET User.Identity.Name 대안?
if (User.Identity.IsAuthenticated)
{
int UserID = (int)Membership.GetUser(User.Identity.Name).ProviderUserKey;
}
GetUser()
방법이 실행될 때, 사용자 데이터가 데이터베이스에서 검색해야하며이 나를 귀찮게한다. 이것은 서버 시간을 낭비하는 불필요한 것이며, 아무리 짧은 시간이라도 나는 그것을 피하고 싶습니다.
보다 편리한 방법으로 ProviderUserKey
을 얻는 다른 방법이 있습니까? User.Identity.Name
과 같은 경우가 있습니까?
귀하의 아이디어를 듣고 싶습니다. 귀하의 웹 페이지에서 어떻게이 문제를 해결합니까?
감사합니다.
감사합니다. 관련 정보를 알려주시겠습니까? 내가 발견 한 모든 것은 .NET 1.1에 관한 것이고 3.5 버전의 프레임 워크에서이 작업을하고 싶습니다. – Wodzu
GenericPrincipal을 사용하고 쿠키에 추가 정보를 저장하는 방법을 보여주는 [한 기사] (http://www.xoc.net/works/tips/forms-authentication.asp)가 있습니다. 이 아이디어는 HttpContext.Current.User를이 사용자 지정 주체로 대체하여 모든 곳에서 액세스 할 수 있도록하는 것입니다. –
고마워,하지만이 예제가 자신의 loign 컨트롤을 만드는 것을 기반으로 이해합니다. 표준 동작을 재정의해야합니다 ... 표준 로그인 컨트롤을 사용하면 어떨까요? 나중에 응용 프로그램에서 편리한 방식으로 다시 볼 수 있도록 하나의 속성을 추가로 표시하도록 클래스를 확장 할 수 있습니까? – Wodzu