在C#中,你可以通過自定義驗(yàn)證登錄(Authorize)來驗(yàn)證用戶登錄。以下是一個(gè)簡(jiǎn)單的示例:
首先,創(chuàng)建一個(gè)自定義的AuthorizeAttribute類,繼承自System.Web.Mvc.AuthorizeAttribute類:
using System.Web;
using System.Web.Mvc;
public class CustomAuthorizeAttribute : AuthorizeAttribute
{
public override void OnAuthorization(AuthorizationContext filterContext)
{
// 檢查用戶是否已經(jīng)登錄
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
// 未登錄,重定向到登錄頁面
filterContext.Result = new RedirectResult("~/Account/Login");
}
else
{
// 已登錄,繼續(xù)執(zhí)行原有的授權(quán)邏輯
base.OnAuthorization(filterContext);
}
}
}
然后,在需要驗(yàn)證登錄的Controller或Action上使用CustomAuthorizeAttribute進(jìn)行標(biāo)記:
[CustomAuthorize]
public class HomeController : Controller
{
// 需要登錄才能訪問的Action
public ActionResult Index()
{
return View();
}
// ...
}
在上面的示例中,如果用戶未登錄,訪問需要登錄才能訪問的Action時(shí),會(huì)被重定向到登錄頁面。如果用戶已登錄,會(huì)繼續(xù)執(zhí)行原有的授權(quán)邏輯。
這只是一個(gè)簡(jiǎn)單的示例,你可以根據(jù)具體的需求進(jìn)行自定義驗(yàn)證登錄的邏輯。