2017-07-18 6 views
0

私はboolを返すコントローラにメソッドを持っていますが、_Layout.cshtmlの値を使用したいと思います。戻り値に基づいて、あなたが混合されているようにそれはそうなので_Layout.cshtmlから偽のheadタグ_layoutページのbool戻り値型のコントローラメソッドの呼び出し

+0

私はあなたが単に '[必要な推測のような何かができますHtml.Action'](https://stackoverflow.com/questions/8874775/how-can-i-use-html-action) – Givi

+1

なぜこれのためのアクションフィルタを書いていませんか? – Fran

+0

@Fran – DoIt

答えて

0

に、私は少し混乱している場合、別のアクション

 [HttpGet] 
     public bool CheckPagePermission(PagePermissionDto pagePermission) 
     { 
      var claimsIdentity = System.Web.HttpContext.Current.User.Identity as ClaimsIdentity; 
      var userName = claimsIdentity.FindFirst("email")?.Value; 
      pagePermission.UserName = userName; 

      bool authorizedUser = _uow.PagePermissions.CheckPagePermission(pagePermission); 
      return authorizedUser; 
      } 

は今、私は上記の値をチェックし、エラーページにリダイレクトしたいと思いますクレームと伝統的な認可技術。私はあなたが単にClaimsTranformerを使用し、ClaimsAuthorizationManagerをサブクラス化できると思います。これは別の何かであり、あなたが簡単に何かをしたい場合は、その後、多分あなたは、カスタム認可属性にしたい

あなたはこの

public class MyCustomAuthorizeAttribute : AuthorizeAttribute 
{ 
    protected override bool AuthorizeCore(HttpContextBase httpContext) 
    { 
     var claimsIdentity = System.Web.HttpContext.Current.User.Identity as ClaimsIdentity; 
     var userName = claimsIdentity.FindFirst("email")?.Value; 

     return _uow.PagePermissions.CheckPagePermission(new pagePermission { /*whatever you are passing here.*/ }); 
    } 
} 

グレート情報here

関連する問題