パスワードの期限が切れると、ユーザーを[パスワードの変更]ページにリダイレクトする必要があります。リクエストをリダイレクトできる小切手はどこに置く必要がありますか?
このコードを1か所に配置して、任意の要求をパスワード変更ページにリダイレクトすることができます。
AuthorizeAttributeを拡張してOnActionExecutingをオーバーライドしましたが、パスワード変更ページにリダイレクトするルーティングロジックを短絡することはできません。少し明確にするため
、ロジックは次のようになります。
不正な要求:
- >任意のURL - > AuthorizeAttribute - > Login.aspxの - >パスワードの有効期限が切れ - > ChangePassword.aspx
認定要求:
- >任意のURL - >??????? - > ChangePassword.aspx
その?私は何をすべきか分からない部分です。
私はAuthorizeAttributeを拡張するつもりだと思います。私はどこでもそれを使用しますパスワード変更コントローラメソッドを除いて。
これは基本的に私が行ったことです。 – Will
これは古い答えなので、(少なくともMVC3の場合) 'filterContext.HttpContext.Response.Redirect("〜/ Account/ChangePassword?reason = expired ");を' filterContext.Result = new RedirectResult( "〜/ Account/ChangePassword?reason = expired"); '(ベース:http://stackoverflow.com/a/2187364/700926およびhttp://stackoverflow.com/a/2765148/700926) –