5

ASP.NET MVC 3'ü yoğun bir kullanım veya Kullanıcılar ve Roller yapan bir uygulama için kullanıyorum. NHibernate ve ASP.NET Üyelik

bir kullanıcı oluşturmak ve rol (ler) Ben ASP.NET Üyeliği yoluyla standart işlemleri atamak için.

Uygulamanın tamamında, varsayılan MembershipProvider ve RoleProvider uygulamalarının kullanıldığı yerler dışındaki temel veri erişimi için NHibernate kullanıyorum (bu uygulamalara yapılan çağrıları veren AccountController içinde).

I// düzenle okumak ASP.NET Üyeliği tarafından yönetildiğini tabloları değerleri değiştirmek edebilmek için NHibernate kullanmak istiyoruz.

  1. MembershipProvider ve RoleProvider (hatta this one kullanın) için özel bir NHibernate uygulanmasını yazın:

    Ben iki çözüm buldum. Bu en zor yol.

  2. Yalnızca tabloları (here numaralı belgede açıklandığı gibi) eşleştirin ve daha sonra NHibernate'i doğrudan kullanın (AccountController'ın varsayılan eylemleri varsayılan sağlayıcılar tarafından yürütülmesine rağmen).

Herhangi bir öneri/öneriniz var mı?

cevap

3

Bağladığınız özel sağlayıcıyı oldukça başarılı bir şekilde kullandım. Birkaç değişiklik yaptım, böylece ömrü boyunca tek bir oturum kullanacaktı. Eğer ASP.net üyelik kullanmak istiyorsanız

O yaklaşımı (herhangi SP senin veritabanında mevcut olması itimat etmez) esas taşınabilirlik için, en iyi bahis olduğunu düşünüyorum. Şu anda MSSQL ve Postgres'e karşı herhangi bir sorun olmadan değiştirilen sağlayıcıyı kullanıyorum ve onu da MySQL'e karşı kullanıyorum.

+0

Görüyorum. Ancak bu uygulama için ünite testleri yoktur. –

+0

Bu uygulama için birim testlerini yazıyorum ve evet kutunun dışında harika çalışıyor (şimdiye kadar). –

+0

Harika, çalışmasına sevindim. Çevremizdeki testleri yazmaya hiç bu kadar yakın olmadım, kendinizinkini özgürce paylaşıyorum: D – AlexCuse

İlgili konular