2011-02-03 1 views
0

私はasp.net認証を使用するMVC 3アプリケーションを持っています。私は、カスタムエラーコントローラと未知のエラーと404のビューの2つのビューを作成しました。これは、アプリケーションにログインしているときに正常に動作しますが、ログオン中に内部サーバーエラーが発生した場合は、エラー/不明な表示を表示したいと考えています。しかし、私は認証されていないので、私はちょうどログインにリダイレクトされ続けています。認証されていないユーザーのコントローラ/ビューへのアクセスを許可できますか

Web.configに「Views/Error」の場所パスを追加してすべてのユーザーにアクセスできるようにしましたが、リダイレクトの原因となっているコントローラーアクセスを推測しています。

これをMVCで許可する方法はありますか、別の解決策を考える必要はありますか?ログインページに一般的なメッセージを追加したくないのは、私の未知のエラービューのためです。

答えて

0

コントローラーで[Authorize]属性を使用する方が良いことがわかります。許可されたユーザーを必要とするコントローラまたはビューで、これを使用できます。この方法で、誰もがあなたのエラーコントローラにアクセスできます。

+0

は私のエラーがコントローラにアクセスするための非認証された(許可)のユーザーです。現時点では、asp.net認証が開始されており、ログインしているユーザーがいないため、このコントローラでアクション・メソッドを実行できません。 – Cragly

+1

Web設定で次のように指定しましたか? あなたが[Authorize]属性を使用している場合、これはもう必要なくなります。 – lancscoder

+0

ああ、私はあなたを取得し、ちょうどそれを取り除き、私のすべてのコントローラで認証してください。両方とも一緒ではありません。 – Cragly

1

web.configファイルにロケーションセクションを追加しようとしましたか?

urlはエラーページのURLである必要があります。 location要素内でallow users = "*"

のような認可を指定するか、authorize属性をエラーコントローラに追加するか、ユーザーを "*"に設定してアクションを追加します。

あなたは一種の正しいですが。エラーコントローラにアクセスする権限を持つユーザを変更する必要があります。 authorize属性とlocation要素の両方でこれを行うことができます。私は私のコントロールでこれを使用するのですが、私は必要なもの

サイモン

関連する問題