最後我將邏輯提取出來給賬戶控制器。這將處理登錄並將結果存儲在會話中。然後,我只是需要重寫System.Web.Mvc.AuthorizeAttribute類和AuthoriseCore方法如下:
using System.Web;
using System.Web.Mvc;
namespace HomeHealth.Web.Infrastructure
{
public class HomeHealthAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
return WebSession.SdkContext.IsAuthenticated;
}
}
}
它有一些輔助代碼清理訪問會話中的語境,但是這無關緊要。關鍵是這是你可能想要的屬性/方法。然後,您可以使用以下標記控制器/方法:
[HomeHealthAuthorize]
public class PatientController : BaseController
然後所有檢查/重定向都爲您完成。