2017-03-24 7 views
0

WebSecurityメンバーシップのものを使用するMVC4 Webサイトに電子メールの検証を追加します。MVC 4許可属性AllowAnonymousでリダイレクトに失敗する

ユーザーが登録すると、リンクが付いた電子メールが送信されます。登録を確認する前にログインしようとすると、WebSecurity.Login()は失敗します。さて、それは合理的です。

私がサイトに行う必要があることは、確認を完了して通知することを彼らが待っていることを認識していることです。コントローラは、[承認]属性でマークされ、[のAllowAnonymous]でアクション自体がマークされている

if (ModelState.IsValid && !WebSecurity.IsConfirmed(model.UserName)) 
{ 
    // Inform the user 
    return RedirectToAction("ConfEmailSent"); 
} 

:だから私のようなコードを持っています。

リダイレクトは失敗しますが、ブラウザのURLを手動で変更しても正常に動作します。

これはMVC4のバグですか?ここに何か不足していますか?

+0

'ブラウザでURLを手動で変更しても、うまくいきます。もっと詳しく説明できますか? – Win

+0

「リダイレクトが失敗する」とはどういう意味ですか?ユーザーには何が表示されますか? –

+0

最初のコメントに何を追加するのか分かりません。私はそれが自明であると思った。私はブラウザのアドレスバーのURLを変更し、ページを上手く表示します。 – jrichview

答えて

0

ミステリーが解決されました。本当に恥ずかしい監督:私はリターンステートメントを省略し、ちょうどいくつかの場所でRedirectToAction()を呼び出しました。あなたは私です。

+0

私は自分の質問を削除することを考えましたが、コンパイラがあなたのために捕まえないという単純な監視があるので、他の人がそれにぶつかる可能性があります。 – jrichview

関連する問題