2010-11-21 17 views
0

Standart form kimlik doğrulamasında kullanıcılar bir Rehber tarafından tanımlanır. Kullanıcılarıma int tür bir UserId vermek istiyorum (birincil anahtar olmak zorunda değilsiniz, sadece arama yapmak için bir şey).ASP.NET Form Kimlik Doğrulaması'na bir tamsayı numarası ekleme

Aspnet_users tablosuna ek bir sütun eklemek güvenli midir, yoksa UserId sütununa FKs olan ve tamsayı kimliğini oluşturan Benzersiz bir sütuna sahip yeni bir tablo oluşturmalı mıyım?

Daha sonra bir int uğruna almak için kötü bir performans vuruşu gibi geliyor!

EDIT Stackoverflow'taki gibi URL'ler oluşturmak istiyorum. Örneğin. Kullanıcı Kimliği bir int olduğu https://stackoverflow.com/users/23590/greg-b. Bu nedenle Guids kullanmak istemiyorum.

+0

üyelik API'si aradığınız arama özel tipini sunmuyor? – IrishChieftain

+0

@IrishChieftain bu gerçek bir soru veya ipucu mu? Alkışlar –

+0

Merhaba Greg, gerçek soru - Ben normalde kendi kimliği ile bir üye bakmıyordum, bu yüzden ne yaptığınızı tam olarak nasıl bir tanıtmaya çalışıyordum :-) – IrishChieftain

cevap

1

Profiller oluşturabilir ve ilgili url kimliğini orada depolarım. Web Formları kutunun dışında mevcut Profilleri yok, ama burada geçici bir çözüm görebilirsiniz:

http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

Profilleri kullanmanın avantajı mevcut tüm mantığı içine dokunabilirsiniz ve yok olmasıdır

URL'yi oluşturmanın yanı sıra, kendinize özel kod yazmak.

ASP.NET 3.5 veya daha yeni bir sürüm kullanıyorsanız, bunu kolay URL'ler için Routing ile birleştirebilirsiniz.

GÜNCELLEME: tür benzer soru:

Shorter GUID using CRC

+0

Nasıl olurdum profile depolamak için Benzersiz tamsayı oluşturmak. –

+0

Profili oluşturun ve yaş gibi bazı keyfi alanları ekleyin. Ardından, profil tablosunda oluşturulan otomatik oluşturulan bir int kimliğine bakın. – IrishChieftain

+0

AFAIK, Profiles, Users.UserName aracılığıyla alabileceğiniz bir Profiles.ProfileID int anahtarı oluşturur. – IrishChieftain