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