簡體   English   中英

ASP.NET / IIS 安全性(Windows 身份驗證)

[英]ASP.NET / IIS Security (Windows Authentication)

這可能會變成一個doozie。

我正在開發 ASP.NET 中的應用程序,以放在我們公司的 Intranet 站點上。 我已收到有關安全性的規范,但不知道該怎么做。

第一部分:應用程序是使用 Windows 身份驗證。 這部分似乎很容易; 我在管理工具中打開 IIS,右鍵單擊我的網站節點,屬性並選中“集成 Windows 身份驗證”。 但是,我不知道如何管理哪些人可以訪問我的網站。 我認為這應該在數據庫級別進行處理。 這是Q#1

第二部分——我必須為以下場景實現一個流程:用戶“Jane”可以登錄到我們的網絡,但對我的應用程序沒有權限。 用戶“Bob”確實有權使用我的應用程序。 Bob 需要能夠坐在 Jane 的計算機(在她的網絡帳戶下),但能夠將他的憑據輸入我的應用程序並使用它(即使 Jane 已登錄到本地計算機和網絡)。 這是Q#2

任何幫助、一般方向或建議將不勝感激。 中獎彩票號碼將更加感激。

謝謝,

傑森

您正在尋找 ASP.NET 中的 Windows 身份驗證和授權

第 2 部分...你是對的,這很難。 您需要推出自己的自定義安全提供程序。 您將擁有一個登錄頁面,然后您自己對照 Active Directory 進行檢查。 來自MSDN

ASP.NET 還支持使用 Windows 身份驗證的自定義解決方案,繞過 IIS 身份驗證。 例如,您可以編寫一個自定義 ISAPI 過濾器,根據 Active Directory 檢查用戶的憑據。 使用這種方法,您必須手動創建一個 WindowsPrincipal object。

您在這里有關於身份驗證授權的要求。

Authentication : 確認身份的行為
授權:將身份與特權相關聯的行為(例如讀/寫/刪除)

Windows 如果您想要“自動登錄”功能,身份驗證很有用。 該站點將通過 ID“了解”用戶,而無需登錄。

用戶需要從多個位置登錄意味着您必須實現登錄頁面。 這將滿足您的要求,即一個用戶可以坐在另一個工作站上並登錄。

您需要根據 Windows 域對用戶進行身份驗證。 這可以通過自定義成員資格提供程序來完成。 這是一個演練:

http://msdn.microsoft.com/en-us/library/ms180890(v=vs.80).aspx

這將允許您顯示一個登錄頁面,該頁面將使用其域用戶名和密碼對用戶進行身份驗證。 這將對用戶進行身份驗證——用戶的身份將存儲在HttpContext.User中。 然后,您還可以在數據庫中維護用戶列表以存儲授權數據。

還發現了這個——對於那些在同一條船上的人來說,這是一個很好的資源:

在 ASP.NET 中混合 Forms 和 Windows 安全性

http://msdn.microsoft.com/en-us/library/ms972958.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM