2013-02-18 21 views
0

我不想學習如何爲asp mvc完全自定義身份驗證/授權。
如此簡單的操作:註冊/登錄/註銷/記住我
我不想再使用asp會員資格,但是我找不到任何從網頁上的開始到結束教程,以瞭解如何做到這一點。
我很困惑。如果我做了一切定製,我仍然需要使用SetAuthCookie()
所以我不想自定義MembershipProvider,但作出我自己的授權/認證。
我正在尋找的是一些完整的資源(如果存在)?
我真的需要關於這個話題的幫助,所以我很感激任何幫助。如何在沒有asp會員資格的情況下完全自定義身份驗證/授權

+0

你到目前爲止嘗試過什麼?我建議在嘗試編寫自己的代碼之前,先閱讀一下asp.net會員API的工作原理。 – levelnis 2013-02-18 20:28:46

+0

但你爲什麼要重新發明輪子? – Andre 2013-02-18 20:31:48

回答

4

你不想這樣做。

開發自己的會員類的問題是,99.999%的時間你不具備安全知識來構建一個安全,可靠,健壯和可靠的框架。 (另外0.001%的時間你是第三方僱傭的專家做這件事的時間。)

我知道MembershipProvider笨重,臃腫,並不像它應該那樣靈活。但它是非常安全的,比你寫的任何東西都要安全得多。這是不值得冒險的......在開發你自己的時候,你可能會失去對你的網站,數據和最重要的是你客戶的數據的控制權。

堅持下去。否則你會後悔的。

+1

我不同意。雖然重寫ASP.NET成員資格的*認證*部分是冒險行爲,但除了身份驗證外,框架還有很多**。數據層是否真的在任何接近和密碼檢查通過的機制一樣重要的地方提取密碼? – Snixtor 2013-02-18 20:43:56

+0

好吧,爲什麼我想這樣做是因爲我得到了一些建議,從我的用戶表中加入aspnet_Users表是不好的(不知道爲什麼)。而這個問題也與這個問題有關http://stackoverflow.com/questions/14920327/how-to-join-aspnet-user-to-my-custom-user – 1110 2013-02-18 20:44:24

+0

是否真的不好加入我的自定義用戶表aspnet_Users並使它們之間的1:1關係? – 1110 2013-02-18 20:52:21

1

我有同樣的想法,即@levibotelho,如果你不是100%肯定是不安全的。在另一方面,你可以找到許多項目http://nugetmusthaves.com/Category/Security 例子:http://altairiswebsecurity.codeplex.com/https://github.com/kristofferahl/FluentSecurity更多...

大概這一個:https://github.com/OdeToCode/Memflex brgds!

更新:@ 1110如果你想直接進入表我建議你使用simplemembership而不是舊的成員資格提供者。 http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx。同樣的事情,如果你需要有客戶字段而不是配置文件中的斑點和更多...

1

首先,ASP.NET成員資格和窗體身份驗證的崩潰過程。

直接從供應商( Microsoft

「ASP.NET成員資格給你一個內置的方法來驗證,因此存儲用戶憑據ASP.NET成員資格幫助你在你的網站管理用戶認證。 。通過與ASP.NET登錄控件一起使用,可以將ASP.NET成員身份與ASP.NET窗體身份驗證一起使用,以創建一個用於身份驗證用戶的完整系統。「

請注意,您「可以使用ASP.NET身份驗證與ASP.NET表單身份驗證」。它們是不同的元素。認證部分是你不想惹的事,這是我認爲LeviBotelho(正確)緊張的部分。但是,您可以正確使用沒有成員身份的表單身份驗證!

由於Scott Mitchell points out,在ASP.NET 2.0之前,我們甚至沒有Membership。他自己的(現在很老了)article over on 4guysfromrolla提供了一個基於角色的授權的例子,結合了Forms Authentication和而不是使用Membership。沒有任何內在的不安全或冒險。

如果你冒險遠離Membership模式/框架,但是,獲得正確的下一個最重要的事情是密碼安全。你的第一個誘惑可能是將數據庫中的用戶密碼保存爲純文本。 不要。 Troy Hunt撰寫關於互聯網安全的優秀文章,並且比我更好地解釋密碼安全的來龍去脈。 This article會比您可能感興趣的內容更詳細(主要是創建密碼重置功能),但密碼存儲的起點非常有效。

關於「我正在尋找的所有資源都是一些完整的資源(如果存在)?」。你可能不會找到這樣的文章。這是一個非常廣泛的話題,至多你會發現一些文章,每個文章都提供一點點幫助你開發你自己的解決方案。

相關問題