2016-07-21 19 views
0

私はまだAsp.Net MVCで少し新しく、匿名ユーザーをバナーページに強制する方法を解明しようとしています。ここで私の問題ですが、私は[AllowAnonymous]を持っているいくつかのページを持っていますが、ユーザーはまだ登録またはログインしていますが、最初にバナーページを押して、続行する前に条件に同意する必要があります。ユーザーがURLを介して直接ログインページに行き、バナーページをバイパスできないようにする方法がわかりません。私は誰かが私に与えることができるすべての助けに感謝します。Asp.Net MVC匿名ユーザーをバナーページにリダイレクト

+0

あなたはバナーページが表示されているかどうかを決定するためにクッキーを設定する/読むことができるすべての匿名のページで共通のjsファイルを使用してこれを行うことができます。あるいは、コントローラ内のセッション変数を使用して、バナーページが特定のセッションで表示され、コントローラレベルでリダイレクトされているかどうかを示すフラグを読み取り/設定することができます。 –

答えて

1

一つの解決策:

  1. ユーザーがバナーページ上の条項に同意したら、セッション変数を設定します。
  2. 変数が存在するかどうかを確認し、バナーページが設定されていない場合はリダイレクトするカスタムAuthorizeAttributeを作成します。

    var agreed = Session["Agreed"]; 
    if (agreed == null || agreed.ToString() != "1") { 
        Redirect("/Banner"); 
    } 
    
  3. カスタム属性を使用してログインHttpGetアクションを飾ります。

    [HttpGet] 
    [MyCustomAuthorizeAttribute] 
    public ActionResult Login() 
    
関連する問題