![](/img/trans.png)
[英]Active Directory authentication using ASP.NET MVC 3 and c#
[英]C# 4 ASP.net *NON MVC* Custom Authentication
我知道這個問題已經被問過無數次了,但是相信我我已經搜索了Google幾個小時,卻一無所獲。 無論那里有什么,它都用於我不使用的MVC。
我的要求很簡單。 我不想使用asp.net中提供的默認身份驗證。 我會將用戶名/密碼/角色存儲在自定義SQL Server表中。 我將為用戶名/密碼提供2個輸入,並提供一個驗證按鈕。 驗證后,他被允許訪問管理區域。 這只會由我的子域“ admin。 * .com”中的管理員使用。 他們將每天使用此頁面向網站添加內容。
謝謝,開發人員
您可以創建自己的具有所需功能的自定義成員資格提供程序。 asp.net會員提供者
出於安全目的,最好使用久經考驗的方法。 請記住,您可以自定義任何提供程序,包括角色提供程序,甚至可以創建自己的唯一提供程序。
這是一個使用ASP.NET 1.1進行LDAP身份驗證的示例。 該邏輯可能仍然適用,也可以適用於更高版本的ASP.NET,盡管我尚未對其進行測試。
使用內置成員資格提供程序或實現自己的成員資格提供程序,不能保證黑客無法訪問您的系統。 您必須考慮的事項:
這些只是少數要尋找的東西。 您還必須關注會話劫持,javascript攻擊等。
這不是一件小事。
根據我們的評論,鑒於您不願實施ASP.Net成員資格 提供程序 (並且值得花時間進行調查-您可能不覺得現在是正確的,但是可能會很方便。起初,我有同樣的感覺,但很快就會發現維護自己的代碼和基礎結構的成本是不合算的),您至少還有兩個選擇:
1)簡易表格認證
將所有管理頁面都放在一個文件夾(例如/ Admin)下,然后使用“ 表單身份驗證”來保護對此文件夾的訪問。 只有在數據庫或Web.Config中定義的用戶才能訪問這些頁面。 這沒有ASP.Net成員資格靈活,但可以為您提供大部分所需的服務。 在安全性方面,這將與您的網站一樣安全,經過良好測試並且有據可查。
2)使用Facebook OAuth
您提到您的使用可以訪問Facebook。 您可以使用Facebook進行身份驗證 。 盡管您將無法獲取用戶名和密碼,但是可以找回令牌,然后可以根據已知的權限集進行驗證。 但是,與1)相比,這項工作要多得多,並將使您與Facebook API未來的潛在變化聯系在一起。 但是,它也將從經過良好測試和安全性中受益,但是您幾乎無法控制實際用戶信息。
順便說一句,也請考慮對Google更好!
編寫自定義身份驗證處理程序非常危險。 有很多方法可以解決該問題,並使您的網站容易受到攻擊。
我也理解您的投訴,即表單身份驗證極其復雜。 我面臨類似的十字路口,因此決定構建自己的身份驗證系統FSCAuth 。 它是BSD許可的。 它的設計非常簡單,幾乎可以允許您使用任何數據庫格式進行映像。 設置它所要做的全部工作就是在數據庫中實現一個小的4功能接口,並填充一些配置字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.