在ASP.NET MVC2如何配置一個網站,以便在默認情況下是不需要身份驗證,但一個特定的控制器上我做希望Windows身份驗證ASP.NET MVC2 Windows身份驗證。對具體控制器
編輯:我不認爲這是可能根據我的測試。
在ASP.NET MVC2如何配置一個網站,以便在默認情況下是不需要身份驗證,但一個特定的控制器上我做希望Windows身份驗證ASP.NET MVC2 Windows身份驗證。對具體控制器
編輯:我不認爲這是可能根據我的測試。
我不認爲這是可能的,因爲您需要在IIS中的站點級別設置Windows身份驗證。您需要兩個獨立的網絡應用程序才能使用此功能。
[Authorize]
public class MyController : Controller
{
public ActionResult Index()
{
return View();
}
}
將需要在MyController
所有行動授權,但隨後任何不具備[Authorize]
屬性應該是公開訪問。
您還需要在web.config中設置Windows身份驗證。
<authentication mode="Windows"/>
編輯
唯一的一次應該有必要創建一個單獨的應用程序,如果你需要在同一站點內同時使用Windows和窗體身份驗證 - 例如,如果您需要表單身份驗證,以便用戶點擊(例如討論論壇),但需要管理員區域的Windows身份驗證。由於身份驗證方法是在應用程序級別設置的,並且不能被覆蓋,在這種情況下,需要進行Windows身份驗證的應用程序部分必須在IIS中拆分爲單獨的Web應用程序和虛擬目錄。
我實際上已經嘗試過,但是當我更改我的web.config以使用Windows身份驗證時,它會提示我登錄所有請求(即使沒有[Authorize])。有什麼方法可以將認證範圍限定在特定的路由或其他? – 2011-01-05 18:24:40
你不能通過路線來完成......嗯。 Web配置中有一個deny = ...屬性可能是必需的。讓我看看。 – 2011-01-05 18:25:45
你不能在Action(而不是控制器)上放置[Authorize]屬性嗎?還是隻有MVC3? – 2011-01-05 18:31:01