0
我有一個名爲admin的目錄。 此目錄沒有物理路徑,因爲它被硬編碼爲我的管理區域的前綴。ASP.NET MVC2拒絕用IIS 7訪問控制器?
如何使用標準認證來保護此路徑? 我希望只有用戶Admin可以登錄到該區域。 但主頁面需要爲每個用戶提供。
我有一個名爲admin的目錄。 此目錄沒有物理路徑,因爲它被硬編碼爲我的管理區域的前綴。ASP.NET MVC2拒絕用IIS 7訪問控制器?
如何使用標準認證來保護此路徑? 我希望只有用戶Admin可以登錄到該區域。 但主頁面需要爲每個用戶提供。
如果你使用任何的內置認證變種:
[Authorize(Roles = "Administrator")]
public class AdminController : Controller
{
}
編輯
要限制特定用戶:
[Authorize(Users = "Admin")]
public class AdminController : Controller
{
}
EDIT2
是的,你可以,但它是一種黑客。創建自己的課程並從RouteBase
中派生出來。
public class MyRoute : RouteBase
{
public override RouteData GetRouteData(HttpContextBase context)
{
if (context.Request.Uri == XXX && context.User != YYYY)
return forbiddenRoute;//redirect to forbidden page.
else
return null;
}
}
然後將其添加到您的global.asax中。
是否可以根據路線或基於特定路徑對特定用戶進行限制? 在不想忘記這些旗幟之一,赤裸裸的。 – Chris 2010-12-17 11:46:59
增加了另一個更新描述如何。 – jgauffin 2010-12-17 13:13:06