MVC3 IPolicyViolationHandler“访问被拒绝!”弹出

时间:2012-12-07 09:46:26

标签: c# asp.net asp.net-mvc-3

我有一个使用FluentSecurity的mvc3应用程序,其中使用IPolicyViolationHandler处理策略违规

public class DefaultPolicyViolationHandler:IPolicyViolationHandler {     public string ViewName =“AccessDenied”;

public ActionResult Handle(PolicyViolationException exception)
{

    if (SecurityHelper.UserIsAuthenticated())
    {

        return new ViewResult { ViewName = ViewName };
    }
    else
    {
        return new RedirectResult(LoginURL);
    }
}

}

现在它使用我的共享视图AccessDenied打开一个新页面。我的问题是如何打开弹出窗口而不是新页面来显示“拒绝访问消息”。感谢

1 个答案:

答案 0 :(得分:0)

相反,RedirectResult可以使用类似于下面的模型返回PartialView。

在您的控制器中.....

Model.Test M = new Model.Test();
M.Access = "Denied";
return PartialView("ViewName",M);

在你的观点中......

 @model eStorage.Models.Test

 <input type="hidden" id="hdnAccess" value ="@Model.Access" />

<script>
  var Type = $("#hdnAccess").val();
  if(Type == "Denied")
  {
    //window.open    code here
    // or  
    // Use Jquery Dialog
   }

 </script>