2017-10-21 18 views
0

MVCでは、プロジェクトの作成時に、ログインシナリオ、ログイン画面、レジストリ、およびすべてを書き込みます。mvc5でのログイン後のリダイレクト

私は管理ページを作成しましたが、Cookieを作成していない場合は、ログインページを送ってください。私はあなたがログインした後にそれをしたいと思っています。ログイン後に管理ページにリダイレクトする方法がわかりません。

プロジェクトをビルド中にviewbag.retutnurlを書き込むコードはありますが、コントローラが何であるかわからない。

ここで値がどこから来るのかわかりません。

誰もが正確に分かっていれば助言してください。

+0

生成された認証を使用していますか、独自の認証を使用していますか? – Nick

+0

私は生成された認証を使用します – hamed

答えて

0

[Authorize]データ注釈

//admin controller 
[Authorize] 
public ActionResult Index() 
     { 

      return View(); 
     } 
0

この2つの方法のいずれかを試してみてください。

switch (result) 
      { 
       case SignInStatus.Success: 
        return RedirectToAction("Index", "Admin", null); // new code 
       case SignInStatus.LockedOut: 
        return View("Lockout"); 
       case SignInStatus.RequiresVerification: 
        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = false }); 
       case SignInStatus.Failure: 
       default: 
        // If the user does not have an account, then prompt the user to create an account 
        ViewBag.ReturnUrl = returnUrl; 
        ViewBag.LoginProvider = loginInfo.Login.LoginProvider; 
        return View("ExternalLoginConfirmation", new ExternalLoginConfirmationViewModel { Email = loginInfo.Email }); 
      } 

そして、あなたの管理者クラスにあなたが入れなければならない:デフォルトの生成方法、ログインが成功したときに実行され、case最初を変更し、ここでこのようなあなたのカスタムリダイレクトを追加するには

public ActionResult Index() { 
    return RedirectToAction("AdminAction"); 
    //Or you can try this 
    return RedirectToAction("whateverAction", "whateverController"); 
} 
+0

mvcでは、プロジェクトを作成するとすべてのログインシナリオが生成され、データベースも生成されます。ホームページと複数のreturnUrlへのリダイレクトログインを設定します。彼らがどこにいるかはわかりません。 ホームページから管理者ページにその値を変更したい ログインActionResultではないため、自分自身で書き込んだものを変更したくありません。これはTask です。 – hamed

関連する問題