2013-07-20 95 views
5

我正在嘗試重新學習ASP.NET並構建一些應用程序,但是教程似乎正在運行短褲。ASP.NET MVC 4的用戶管理

據我所知,ASP.NET現在內置了成員資格,允許用戶創建和編輯,登錄到用戶。但是,有沒有辦法讓我創建一個用戶控制器。從我讀到的,它是一個很大的否,因爲它可能與AccountController衝突。也許這是錯誤的,但我想確定第一。

另外我明白,我可以在控制器(操作或類)中使用單詞[授權]來限制對用戶的訪問。但是,如果我提供[授權(角色=「管理員」)]如何爲用戶定義角色?是否有一個已經存在的成員提供這個領域或我需要提供第二個nuget包。如果它是來自用戶的字段,它如何知道角色是用戶表中的值?

回答

4

身份驗證和授權在asp.net,看看窗體身份驗證和成員資格提供程序(對於角色和角色提供)

快速搜索給出了這樣的文章:Here

看看其他對 「定義成員資格提供」 搜索

這也看起來有趣:How do I create a custom membership provider for ASP.NET MVC 2?

+0

只是一個問題,如果你選擇一個應用程序,你會選擇一個自定義會員或通過MS預先製作的? – Jseb

+1

肯定會考慮構建一個自定義成員資格提供程序,這意味着您可以將其映射到您自己的用戶數據存儲區,並且您只需實現(覆蓋)所需的方法。然後使用您的標準CRUD編輯用戶詳細信息。 –

10

你confus多事。 Asp.net是基本的網絡技術,並且有三種技術在其上。 Webforms,網頁和MVC。

自2005年發佈版本2以來,成員資格一直是asp.net的一部分。這並不是什麼新鮮事。這些年來有很多關於它的文章。

如果您使用的是MVC,而您使用的是MVC4,那麼默認的Internet模板使用SimpleMembership,它與Visual Studio中的內置成員編輯器不兼容(稱爲網站管理工具或WSaT)。這隻與舊的SqlMembership數據庫表兼容,而SimpleMembership不使用這些表。

您可以使用SqlMembership與MVC4,但您必須將其配置爲使用SqlMembership。或者,您可以不使用WSaT並自己配置您的用戶。

哦,不要聽那些告訴你創建自定義會員供應商的人。除非你知道你在做什麼,否則這是最糟糕的建議,因爲創建安全的密碼散列技術是不平凡的。 99%的人嘗試(甚至應該更好地認識的人),除非他們非常關注,否則就會犯錯。

使用信譽良好的來源提供者,除非你有很好的理由不要。然後,檢查,仔細檢查,三重檢查你的哈希代碼,然後讓專家檢查它。