2012-02-19 18 views
5

Asp.net Üyelik Kullanımını Kullanma & Profil Sağlayıcıları:Kullanıcı profilini üyelik kullanıcı kimliğini kullanarak almak mümkün mü?

Kullanıcı profili, Üyelik Kullanıcıları yerine Kullanıcı Adlarını kullanarak alabilir miyim?

ben kimliği ve değil kullanıcı adı varsa

Dim MembershipUser As MembershipUser = Membership.GetUser("UserID") 
    Dim Profile As Profile = Profile.GetProfile(MembershipUser.UserName) 

yerine aşağıdaki iki kod satırları yazmak zorunda çünkü ben sormak nedenidir: Profil = Profil olarak

Dim Profil .GetProfile ("UserID")

Bu, performansı etkiler mi? Tasarımım kötü mü? Bir şey mi eksik?

unutmayın: Ben aşağıdaki kodu kullanarak giriş yapan kullanıcılar akım alabilirsiniz farkındayım: HttpContext.Current.User.Identity.Name

cevap

3
Guid userId = Membership.GetUser().ProviderUserKey as Guid; 

size peşinde olduğunuz UserId verecek . Asp.net uygulamalarında basitlik için, kullanıcı oturum açtığında normalde oturum açarım.

Asp.net üyelik tabloları, uygulama başına benzersiz kullanıcı adına sahiptir ve tek bir veritabanında birden çok uygulama tanımlamak mümkün olduğundan, aynı zamanda Profile.GetProfile (string userName) uygulamasının farklı uygulamalardan bir profil döndürmesi de mümkündür. . İşte bu yüzden GetProfile (userName) yok ve bunu kendiniz uygulamak kötü bir fikir.

+0

WebProfileBuilder 1.3'ü kullanabilmem için bir Web sitesi değil, bir ASP.Net Web Uygulaması yapıyorum. (Gerçekten bunu yapmanın başka bir yolunu görmediğim için ...) başarıyla kullanabilirim: WebProfile.GetProfile (KullanıcıAdı) ancak kimliğin içinden geçmek için bir yöntem yoktur. Bunu özelleştirmek zorunda mıyım? – Haris

+0

Görsel stüdyosunda bir Yeni Web Sitesi oluşturursanız ve ardından bazı özellikler ekleyin: . Daha sonra aşağıdaki kodu kullanarak herhangi bir kullanıcı için bu posta kodu değerini alabilirsiniz: Profile.GetProfile ("Username"). Öyleyse neden “GetProfile (userName) yok ve bu yüzden onu uygulamak kötü bir fikir” diyorsunuz? – Haris

+0

Sorunuzdan tam olarak ne istediğinizi tam olarak anlayamıyorsunuz ... Asp.net uygulamasına vanilla asp.net üyeliğiyle kısa bir göz attıktan sonra bu soruları soruyorum: "Bu performansa etki edecek mi?" tasarımım kötü mü? – b0rg

İlgili konular