我正在开发一个应用程序,并使用 Fluent Security 对其进行保护。我在 Web 应用程序中有 2 个不同的区域,即管理区域和成员区域。我按照 fluent 安全网站中的指南实施了我的策略违规处理程序。一切正常,除了抛出异常时我需要重定向到错误页面。这些根据您所在的地区而有所不同。例如,管理区域的 ForbiddenAccess 错误页面与成员区域的错误页面不同。
我的 IPolicyViolationHandler 实现如下。
public class DenyAnonymousAccessPolicyViolationHandler : IPolicyViolationHandler
{
public ActionResult Handle(PolicyViolationException exception)
{
return
new RedirectToRouteResult(
new RouteValueDictionary(new { action = "AnonymousError", controller = "Error", area = "Admin" }));
}
}
我需要找到错误发生的位置,以便当我重定向我的区域是“管理员”或“成员”时,我无法弄清楚如何从异常中获取该信息。如果我能得到这些信息,重定向到适当的页面是微不足道的。任何帮助、建议,或者如果不可能,请提供解决方法。
谢谢,