2

I'm in the process of converting a web application of mine to an MVC application. I think it will benefit from it but I'm a newb and a half at MVC. I want all of my controllers to inherent from a base controller and the first thing I want to do is redirect the User to the Login view if they are not authenticated. The method already written basically looks for a Cookie and if it doesn't find it does a Response.Redirect() to the login screen. I want to move this method to the BaseController but I'm not positive what's the best way to go about it. So in essence what BaseController Event should I invoke to check for authentication before loading the page?

Thanks

4

1 に答える 1

1

これを処理するMVCの方法は、AdministrationAttributeでコントローラーアクションを装飾することです

AuthorizeAttributeを使用してアクションメソッドをマークすると、そのアクションメソッドへのアクセスは、認証と承認の両方を行っているユーザーに制限されます。コントローラに属性をマークすると、コントローラのすべてのアクションメソッドが制限されます。

Authorize属性を使用すると、承認が事前定義されたロールまたは個々のユーザーに制限されていることを示すことができます。これにより、サイトの任意のページを表示する権限を誰に付与するかを高度に制御できます。

許可されていないユーザーがAuthorize属性でマークされたメソッドにアクセスしようとすると、MVCフレームワークは401HTTPステータスコードを返します。サイトがASP.NETフォーム認証を使用するように構成されている場合、401ステータスコードにより、ブラウザーはユーザーをログインページにリダイレクトします。

于 2012-07-18T18:35:22.513 に答える