4

特定のアクションに必要な役割を取得する一般的な方法はありますか?

詳細には、私の問題は、たとえば「ユーザー」と「管理者」の2つのロールと、次のアクションがあることです。

[Authorize(Roles = "Admin")] public class AdministrationController...

ユーザーがログインしていない場合、ログイン画面が表示されます。それで大丈夫です。「管理者」ロールを持つユーザーがログインすると、すべて正常に動作します。ただし、「ユーザー」ロールを持つユーザーがログインすると、ログインに成功したことに加えて、ログイン画面が継続的に表示されますが、もちろん必要なロールではありません。

そのため、ログイン画面にヒントが表示され、すでにログインしているが、このページを表示するために必要な権限がないことを伝えることができればよいでしょう。さらに、必要な役割が表示される場合があります。

ありがとう、マイケル

4

2 に答える 2

1

カスタムIActionFilter属性を作成できます。

この投稿を参照してください: MVC – カスタム アクション フィルター

または、ASP.NET MVC で Authorize 属性をオーバーライドする

于 2009-07-24T07:15:33.493 に答える
1

AuthorizeAttributeこれは主に、承認の一部が失敗した場合にログイン ページを表示するというデフォルトの設計に起因すると思います。

から継承する新しいクラスを作成することができますAuthorizeAttribute。その後、デフォルトの動作をオーバーライドして、別のページを表示できます。この素晴らしい例については、http://schotime.net/blog/index.php/2009/02/17/custom-authorization-with-aspnet-mvc/#comment-159を参照 してください。

于 2009-07-24T09:07:15.343 に答える