2015-10-20 25 views
0

我需要知道標準MVC 5授權系統中的用戶標識(Guid)是否有任何理由被用戶隱藏。我問的原因是,我可以看到是否將該ID用於個人用戶頁面引用。MVC 5授權中的用戶標識(Guid)是否應該隱藏給用戶?

例如,我可以爲用戶創建一個配置文件頁面,或者讓這個用戶可以親自編輯的文章。根據我的理解,可以使用外鍵作爲表中的主鍵。每個用戶都可以使用用戶標識來創建個人資料頁面。這意味着用戶會看到當然的用戶ID:

public ActionResult Profile(Guid? id) 
{ 
    //check user etc 
} 

正如一個側面說明。我寧願做這種事情比改變認證表。無論如何,你顯然必須使用單獨的表格來發布帖子等內容。我正在參考諸如用戶細節之類的內容。我真的不喜歡擴展用戶表。

回答

1

您可以使用Guid id爲特定任務標識和查找用戶,或者您可以使用每個用戶唯一的其他任何用戶。無論你喜歡什麼工作。就我個人而言,我會使用每個用戶唯一的用戶名,因爲它會製作更漂亮的網址。但是,使用Guid沒有任何問題,要麼它解決了爲您提供某些可識別信息以獲取正確用戶/配置文件記錄的問題。

如果人們知道你在做什麼,可能會有一些安全問題,但只要你確保人們不能訪問他們不認爲的網頁,並且總是在你的SQL查詢中使用參數,它應該沒事的。

+0

用戶名的一個問題可能是如果該問題得到改變。這是我認爲使用用戶ID更好的原因。也許有些人不提供更改用戶名的能力,但是這是我爲管理員添加的功能,以防萬一有人迫切需要在晚些時候更改用戶名。 –

+0

此外,我只是要使用一個ID無論如何(像ProfileID)。我只是想知道它是否過度。如果您使用自動編號或Guid,我知道腳手架效果會更好。 –

+0

您可以跟蹤用戶名稱並自動將舊用戶頁面轉發到新頁面。爲了簡單起見,使用ID不會傷害任何一方。 –

相關問題