2017-04-19 15 views
-1

ASP.NET Core Webアプリケーション内で、権限のないユーザーをページにリダイレクトしたい。私はStartup.csから "LoginPath"属性を使ってそれを行うことができますが、特定のコントローラでのみ動作させたいと思っています。だから私はAuthorizationHandlerの子孫を作成しようとしましたが、そこからアクションにリダイレクトすることは不可能だと思います。どのようにこれを解決することができますアドバイス?カスタム属性を使用したASP.NET Coreリダイレクト

それをより明確にするには、次の

protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, SelfAuthorizationRequirement requirement) 
    { 
     if (!context.User.Identity.IsAuthenticated) 
      #redirect here 
    } 
+0

で、なぜあなたはそれが不可能だと思いますか? )あなたはそれを自分で解決しようとすることに何らかの投資をして何かを見せなければなりません;) – Tseng

+0

認証が正しければチェックでフィルタを作る –

+0

@Tsengこれを行う方法についてたくさんの検索を試みましたが、私が欲しいものに近い何かを見つける、それが私がここに投稿している理由です。あなたは私に「投資をする」ことを他に何をしたいですか? :))))ああ、とにかく私に教えてくれてありがとう、最初は自分で試してみなければなりません:)) –

答えて

0

は、アクションに[Authorize]属性を追加し、ログインするためにあなたのパッチでstartup.csオプションのIDに設定してください。 exapleについて:

services.Configure<IdentityOptions>(options => 
    { 
     options.Cookies.ApplicationCookie.LoginPath = "LoginPath"; 
    }); 

もっとあなたがAuthroizationHandlerで試さなかった何official docs

関連する問題