.Netの中で、AuthorizeAttributeの汎用クラスをどのように定義しますか?
.NETで、AuthorizeAttributeクラスを継承してカスタム認証属性を作成することができます。AuthorizeAttributeは、ASP.NETで認証が必要なコントローラーや操作メソッドをマークするための抽象基底クラスです。
汎用のAuthorizeAttributeクラスを作成するには、以下の手順に従って定義します。
- 権限を付与する属性
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
// 程序逻辑将在这里添加
}
- AuthorizeCoreを承認する
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
// 实现授权逻辑
return ...; // 返回true表示允许访问,返回false表示拒绝访问
}
- 扱えないリクエスト
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
// 处理未经授权的请求
// 可以进行重定向或返回特定的HTTP状态码
}
自作のAuthorizeAttributeクラスを使用して、コントローラやアクションメソッドにその属性を適用することで、権限制御を実装することができます。例えば:
[CustomAuthorize]
public ActionResult Index()
{
// 控制器逻辑
return View();
}
上記は汎用のAuthorizeAttributeクラスを定義する基本的なステップです。具体的な要件に応じて、AuthorizeCoreとHandleUnauthorizedRequestメソッドに適切な認証ロジックや処理を追加することができます。