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