我有一个使用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打开一个新页面。我的问题是如何打开弹出窗口而不是新页面来显示“拒绝访问消息”。感谢
答案 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>