メソッド IsUserLoggedIn() があり、ユーザーがログインしていない場合 (セッションが期限切れの場合は IE)、ユーザーをログイン ページにリダイレクトする必要があります。問題は、filterContext がなく、コントローラーにないため、どうすればリダイレクトできますか。コントローラー インスタンスなどのパラメーターをこれ以上渡したくありません。出来ますか?
2 に答える
1
ASP.NET MVC でこれを行う標準的な方法は、チェックを行い、ユーザーがログインしていない場合にユーザーをリダイレクトするアクション フィルターを用意することです。 .config ですが、デフォルトの AuthorizeAttribute から派生した独自の属性をいつでも実装して、必要な場所にリダイレクトできます。
http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute.aspx
于 2012-08-12T16:13:04.657 に答える
0
フレームワークの慣習と標準に従う場合は、これを使用してください。コンテキストのどこにいても、次の方法で問題を処理できます。web.config には次のセクションが必要です。
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
これを定義すると、ユーザーはログイン ページにリダイレクトされ、Cookie の有効期限が切れるまでのタイムアウト (分単位) が設定されます。認証の詳細については、こちらを参照してください。
しかし、独自のシステムを持っている場合、それについて何も知らないので、ここでは何の助けも得られません。:)
この助けを願っています。
于 2012-08-12T16:05:39.103 に答える