2010-11-21 59 views
0

在標準窗體身份驗證中,用戶由Guid標識。我想給我的用戶一個int類型的UserId(不一定是主鍵,只是查找的東西)。將整數ID添加到ASP.NET窗體身份驗證

將附加列添加到aspnet_users表是否安全?還是應該創建一個新表,其中包含FK到UserId列,並且具有生成整數ID的唯一列?

後來聽起來像是一個糟糕的性能打擊,只是爲了一個int!

編輯 我想創建像那些在stackoverflow上的URL。例如。 https://stackoverflow.com/users/23590/greg-b其中用戶ID是一個i​​nt。出於這個原因,我不想使用Guids。

+0

是否隸屬API不提供特定類型的你正在尋找查找? – IrishChieftain 2010-11-21 18:24:08

+0

@ IrishChieftain是一個真正的問題還是暗示?乾杯 – 2010-11-21 18:26:35

+0

嗨格雷格,真正的問題 - 通常我不會查找他們的ID的成員,所以我想弄清楚你到底在做什麼:-) – IrishChieftain 2010-11-21 18:42:43

回答

1

我會創建配置文件並在那裏存儲關聯的urlID。 Web窗體沒有可用的配置文件開箱即用,但你可以在這裏看到一個解決辦法:

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

使用配置文件的好處是,你可以挖掘到所有現有的邏輯,不會有自己編寫自定義代碼,除了構建URL之外。

如果您使用的是ASP.NET 3.5或更高版本,您可以將它與Routing合併爲友好的URL。

UPDATE:有點類似的問題:

Shorter GUID using CRC

+0

我將如何生成要存儲在配置文件中的唯一整數。 – 2010-11-21 20:08:34

+0

創建配置文件並添加一些像年齡一樣的任意字段。然後看看是否有在配置文件表中創建的自動生成的int id? – IrishChieftain 2010-11-22 02:08:16

+0

AFAIK,Profiles將爲您創建一個Profiles.ProfileID int key,您可以通過Users.UserName – IrishChieftain 2010-11-22 15:06:00

相關問題