如果我在ionic platform remove android
ionic platform add android
中注册全局Authorize
属性,以便每个操作方法只能由经过身份验证的用户访问,并使用FilterConfig.cs
装饰某些控制器,以便只有管理员用户可以访问他们,授权逻辑在这些控制器上运行两次吗?我该怎么做才能防止这种情况?
答案 0 :(得分:1)
您可以使用ASP.NET MVC“FilterProvider”提供程序。这样做有助于您从特定的控制器和操作中获取所有相关的过滤器。
因此,您可以定义自己的提供程序并注册该提供程序而不是默认提供程序。这将使您完全控制asp.net过滤器,您可以根据您的要求删除一些过滤器。
假设我们关注了控制器。
[Authorize]
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Whatever()
{
return View();
}
}
我认为您正在寻找一种方法来执行以下操作。专注于指数行动
[Authorize]
public class HomeController : Controller
{
[ExcludeFilter(typeof(AuthorizeAttribute))] // Excluding Authorize Important !
public ActionResult Index()
{
return View();
}
public ActionResult Admin() // will follow the declared authorize Attribute
{
return View();
}
}
如果那就是您要找的内容,请参阅此Article