1

メソッド IsUserLoggedIn() があり、ユーザーがログインしていない場合 (セッションが期限切れの場合は IE)、ユーザーをログイン ページにリダイレクトする必要があります。問題は、filterContext がなく、コントローラーにないため、どうすればリダイレクトできますか。コントローラー インスタンスなどのパラメーターをこれ以上渡したくありません。出来ますか?

4

2 に答える 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 に答える