2009-08-02 16 views
11

Üyelik konularını asp.net'de nasıl genişletebilirim?Asp.net'te Üyelik Nasıl Uzanır?

Bir kullanıcı oturum açtığında Kullanıcı Adı ve Parola'yı kontrol etmek istiyorum. Elbette standart asp.net üyeliği bunu yapar (bu ValidateUser()).

Ayrıca "kurum" adı verilen başka bir alanı da kontrol etmek istiyorum. Bir kullanıcı bu kutuda bir şey yazıyorsa, "kurum", "kullanıcı adı" ve "şifre" veritabanında neyin eşleştiğini doğrulamak istiyorum.

kullanıcı "kurum" boş sonra sadece o asp.net'de sağlanır ValidateUser() yöntemini varsayılan ve tek "userName" ve "şifre" kontrol kullanmak istiyorum bırakırsa

.

ValdiateUser() yöntemini aşırı yükleyebilir miyim? Yoksa bu yeni davayı ele almak için kendi adımı yazmam gerekecek mi?

Bu "kurum" alanını veritabanında nerede saklarım? "Profil" tablosunu öneren insanlar hakkında bir şeyler duydum ama emin değilim. ABC KullanıcıAdı: A09410515 Parola: 1234567

Kurum: GHA KullanıcıAdı: A09410515 Parola: 1234567

Ayrıca nasıl 3 farklı kullanıcılar

Kurum olarak bunlarla üyeliğini değiştirebilirsiniz

Kullanıcı Adı: A09410515 Parola: 1234567

veritabanı, bu 3 benzersiz kullanıcı olmalıdır endişelenmelidir. Tabii ki, veri tabanım zaten içinde saklanan aynı bilgilere sahip olacaktı. Örneğin,

.

Kurum: ABC KullanıcıAdı: A09410515 Parola: 1234567

ve birisi "Kullanıcıadı" ve "Kurum" o zaman yinelenen adları olmak hakkında bir hata tükürüyordum için tamamen aynı bilgilerle kaydolmak çalışır.

cevap

15

Evet, create a custom membership provider yapabilirsiniz. Sağlayıcınız, üyelik sistemi ve genişletilmiş veritabanı şeması arasında bir arabirim oluştururken tam kontrol sağlayarak MembershipProvider uygulayacaktır. Writing A Custom Membership Provider for your ASP.NET 2.0 Web Site ayrıntılı bir örnektir.

+0

Merhaba teşekkürler. Yine de biraz kafam karıştı. Ekleyeceğim ek alanları nerede saklarım? Onu profile ekleyebilir miyim? Ben birlikte benim asp.net db ve benim db birleştirebilirsiniz böylece özel bir sağlayıcı yapıyorum ama mssql sunucu kullanıyorum gibi. Ayrıca, bu yöntemleri geçersiz kıldığını fark ettim. Hala varsayılan doğrulama yöntemini kullanmak istiyorum. Yani 2 aşırı yükleme yöntemi yaparım. Özel doğrulamamla ve varsayılan doğrulama yöntemini çağıran bir yöntemle mi? – chobo2

2

gerçek adı oluşturmak için bir araya kurumu ve kullanıcı adı birleştirmek olacaktır Bunu yapmanın tembel bir yol. ABC & A09410515, GHA & A09410515 ve & A09410515:

Böylece 3 ayrı adlarını olurdu. Bir kullanıcının bir kullanıcı adında & kullanmasına izin verme. Sonra

, kullanıcı oluşturarak ya da sadece birlikte iki dizeyi birleştirmek giriş yapmadan önce.

('&') [1]), ancak AP'nin sonrası kesinlikle örneğin kullanıcı adı ( username.split kullanmak görüntülendiği (basit bir hack ile tamir edilemez önemli sorunlardan düşünemiyorum

olduğunu Bunu yapmanın "doğru" yolu.

James

1

Sen farklı uygulamalar

Rodrigo aynı kullanıcı adını olurdu, kurum olarak bu şekilde Uygulama Adı kullanabilir. bağlantılar için