2014-08-28 81 views
14

我想在MVC 5項目中使用新的ASP.NET標識實現自定義身份驗證。如何在沒有數據庫的情況下使用ASP.NET標識

我有一個單個用戶名和密碼,我想用它來限制用戶可以通過控制器和視圖上的[Authorize]標籤查看網站的哪些頁面。 (簡單)

我正在從FormsAuthentication模型中遷移,因此這與將憑據放入web.config中一樣簡單。

因爲我只有一個用戶名和密碼我不希望使用數據庫作爲UserStore,而不是我想ASP.NET身份來檢索的網頁自定義的ConfigurationSection的用戶名和密碼。 config(不要擔心那部分)。

經過大量搜索,我無法找到不依賴於數據庫進行ASP.NET身份驗證的代碼示例。

所以我正在尋找一個代碼示例,在身份驗證點,用戶可以放入自定義代碼,以檢查用戶名&密碼與Web.config的自定義ConfigurationSection中的憑據。

有人可以請指出我在正確的方向謝謝。

更新:我試過看這個代碼示例,但它甚至沒有編譯開箱即可。 http://code.msdn.microsoft.com/Simple-Aspnet-Identiy-Core-7475a961

更新:,我不希望使用FormsAuthentication的原因是,我寫的是將被安裝到一個web應用程序NuGet包。 NuGet包所做的一件事就是在web.config中創建一個自定義的ConfigurationSection,其中包括一個用戶名和密碼。我認爲這會更安全,因爲它不會改變當前目標Web應用程序中的任何現有FormsAuthentication設置。

更新:我想我已經得到它的工作。很快會發布調查結果。

- 李

+1

的ASP.NET MVC'[授權]'屬性可以與FormsAuthentication使用;你不需要使用ASP.NET Identity,事實上這樣做並不合理。您是否遇到了使[Authorize]'屬性與FormsAuthentication進程一起工作的問題,或者您還有其他原因不想再使用FormsAuthentication? – Claies 2014-08-28 10:40:16

+1

有關更多上下文,請參閱http://blogs.msdn.com/b/webdev/archive/2013/07/03/understanding-owin-forms-authentication-in-mvc-5.aspx#_Creating_MVC_project – Claies 2014-08-28 10:42:47

+0

嗨,所以我最初使用FormsAuthentication並沒有問題這樣做..但是我想使用新的身份的東西,因爲我正在編寫一個NuGet包,其代碼在運行時需要它自己的憑據,我不想幹涉任何可能的現有FormsAuthentication設置通過在安裝NuGet軟件包時將自己插入到web.config中。 – 2014-08-28 11:47:13

回答

0

您不必遷移到身份框架,FormsAuthentication仍然有效。安德魯是正確的,使用Identity框架在這裏沒什麼意義,因爲它完全關於管理用戶。

但是,如果你堅持使用它,你可以實現你自己的UserManagerIUserStore。一些指導可以在Scott K. Allen blog post中找到。查看底部的鏈接 - 實現示例 - 您可以採取其中一些並轉換爲您的需求。

我想象你的IUserStore將會很簡單,因爲只有一個用戶並且大部分方法都不需要實現。而對於需要的人(我認爲你需要FindUserById和相關的),你需要通過ConfigurationManager

+0

唉,我希望有一個'完整「的解決方案,不需要數據庫並從web.config中檢索憑據。我試圖增加各種代碼示例失敗。 – 2014-08-28 11:50:53

+0

恐怕沒有完整的解決方案。 – trailmax 2014-08-28 11:54:33

+0

您是否說無法編寫自定義的ASP.NET Identity身份驗證實現,該實現從Web.config中的自定義ConfigurationSection中檢索證書?我認爲新身份的全部重點是讓它超級可擴展? – 2014-08-28 11:59:28

相關問題