Özel üyelik sağlayıcısı oluşturdum ve UserName yerine MembershipUser.ProviderUserKey
üzerinde çalışmam benim için daha uygun. Yani, böyle bir kod gerçekleştirmek ProviderUserKey
almak için:ASP.NET User.Identity.Name alternatif?
if (User.Identity.IsAuthenticated)
{
int UserID = (int)Membership.GetUser(User.Identity.Name).ProviderUserKey;
}
GetUser()
yöntem yürütüldüğünde Ancak, kullanıcı verileri veritabanından alınır edilmeli ve bu beni dinletiyor. Bu, sunucu zamanının gereksiz israfı, bu sefer ne kadar kısa olursa olsun, bundan kaçınmak istiyorum.
örneğinde olduğu gibi daha uygun bir şekilde ProviderUserKey
almak için başka bir yolu var mı?
Fikirlerinizi duymak isterim. Bu sorunu web sayfalarınızda nasıl çözersiniz?
Teşekkürler.
Teşekkürler, bana bu konuyla ilgili bazı bilgileri gösterir misiniz? Tüm ben .NET 1.1 endişeleri buldum ve bu çerçevenin 3.5 sürümünde yapmak istiyorum. – Wodzu
Burada [makale] (http://www.xoc.net/works/tips/forms-authentication.asp) adresinde bir GenericPrincipal'in nasıl kullanılacağını gösteren ve çerezde ek bilgilerin saklandığı yer verilmiştir. Buradaki fikir, HttpContext.Current.User'i bu özel prensip ile değiştirmektir, böylece her yerde erişilebilirdir. –
Teşekkürler, ama anladığım kadarıyla, bu örnek, kendi zayıflama kontrollerini yapmaya dayanmaktadır. Standart davranışı geçersiz kılmalıydım ... Standart giriş denetimleri kullanıyorum. Uygulamamda daha sonra başvurmak için bir tane daha mülkün uygun bir şekilde ifşa edilmesi için bazı sınıfları genişletemem? – Wodzu