私の質問に失敗しました:ユーザーがマネージャーの役割と管理役割を持っていない場合はは、MVC
が、私はページ/いくつかのポップアップメッセージをエラーにリダイレクトする必要があります。しかし、私は "false"を継続的にWindowsセキュリティのパスワードウィンドウを表示することを確認したときに表示。ユーザー名とパスワードを再度入力すると、Windowsのセキュリティパスワードが表示されます。
私が確認しなければならないすべての操作方法とメッセージまたはエラーページを表示する必要があります。どのようにこの問題を解決するには?
コントローラコード:
[AuthorizeUser("Manager","Admin")]
public ActionResult Contact()
{
return View();
}
C#コード:は
public AuthorizeUserAttribute(params int[] roles)
{
allowedroles = roles;
}
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
bool authorize = false;
var getList = _objService.GetUserRoleDetail(CommonStaticHelper.getLoggedUser());
foreach (var role in allowedroles)
{
if (getList.Exists(m => m.RoleId == role))
{
return authorize = true; /* return true if Entity has current user(active) with specific role */
}
}
return authorize;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.Result = new HttpUnauthorizedResult();
}
その作業を、そのフィルタを呼び出します。 – SENA