から派生するクラスを作成しAuthorizeAttribute
、メソッドをオーバーライドしますOnAuthorization
。このメソッドでは、適切な承認チェックを行い、ユーザーが承認されていない場合は、次のコードを実行します。
var route = new RouteValueDictionary(new { controller = "Account", action = "LogOn", returnUrl = filterContext.RequestContext.HttpContext.Request.RawUrl });
filterContext.Result = new RedirectToRouteResult(route);
次に、認証コントローラーの Login アクションで、 という名前のパラメーターを追加しますreturnUrl
。ユーザーが適切な認証情報を提供したことを確認したら、次を実行します。
if (Url.IsLocalUrl(returnUrl))
return Redirect(returnUrl);
これを Global.asax.cs の Application_start に追加して、MVC で使用されるクラスを登録してください。
GlobalFilters.Filters.Add(new AuthorizationAttribute());
はAuthorizationAttribute
、派生クラスの名前です。