2013-07-14 21 views
19

ASP.NET Kimlik. Bir üyelik sistemi seçmem gerekiyor, ama şu anda hangi yöne gitmem gerektiği konusunda kafam çok karışık. Geçerli SimpleMembership iyi çalışıyor, ancak görünen ASP.NET Kimliği ile uyumlu olmayacaktır. Öte yandan ASP.NET Kimlik sıfır dokümantasyon ile kesinlikle yenidir ve her zaman değişebilir. Son olarak, burada, String tabanlı ID'lerin kullanıldığı görülmektedir; bu, SimpleMembership'in desteklediği tamsayı temelli kimlikler ile karşılaştırıldığında, gereksiz bir genel gider gibi görünmektedir. Seçebileceğim iyi bir gelecek kanıtı var mı? Eğer iyi http://owin.org/ standartlarına entegre olduğu yeni üyelik sistemini kullanmalıdır asp.net mvc 5 ile proje başlatmak eğer BenceŞu anda Eylül etrafında serbest bırakmak istediğiniz yeni bir ASP.NET MVC 5 proje inşa ediyorum

+0

Dize biçimlendirilmiş Guıd'ler kodu bir göz atın diyebilirim guid. Kimlik sütunu endekslenir ve endeksli bir int sütunu daha iyi performans gösterse de, çoğu uygulama için fark önemsizdir. – joelmdev

+0

http://stackoverflow.com/questions/19238621/why-do-the-asp-net-identity-interfaces-use-strings-for-primary-and-foreign-keys/19283502#19283502 adresine bakın. Kullanılmış. – RickAndMSFT

cevap

10

ben de SimpleMembership kullanılmamasını tavsiye ediyorum.

public class MyUser : IUser { 
    [Key] 
    int UserID { get; set; } 

    string IUser.Id { get { return UserId.ToString(); } } 
} 
8

.

+1

Ek olarak, daha fazla öğretici ekliyoruz ve SO için bunun için bolca destek var. – RickAndMSFT

1

ben kimliğinin en yeni sürümünü kullanın veya kendi Hesabı kuracağına ya: Hala veritabanı varlık takarken sadece yani) (ToString kimliği gerekir, veritabanınızda int kimlikleri kullanabilirsiniz sistemi tamamen. ASP.NET Identity artık ID için bir GUID (NVARCHAR (128) - db'de) kullanmaktadır, ancak isterseniz int kullanabilirsiniz. İnsanların hala kimlik kullanmadan hiçbir sorunu olmayan kimlikleri kullandığını biliyorum.

bir kimliği should not şimdiye çatışma Her iki şekilde de bir int veya guid olsun. Yukarıdaki mesajın dediği gibi sadece Id.ToString(); Eğer I türlü aldıkları rota

o kadar fark yapacak sanmıyorum.

0

Ben ASP.NET oldukça iyi çerçevesidir ve neredeyse tüm bir uygulama için işlevsellik gerekli sağlamak inanıyoruz. Ayrıca seçiminize göre Kimlik sütunu türünü seçmek için fizibilite sağlar. ASP.NET kimliği üzerine temel bir sarıcı oluşturdum ve bir nuget yayınladım, böylece kolayca kullanılabilir. Eğer destek sunmadı bir NoSQL çözümü kullanmak isteseydiniz, kalıcılık mekanizması daha kolay dışarı takas izin vermek için fiili Guıd yerine kullanılan github