C#-MVC中用户到期的最佳位置
作者:互联网
我有一个ASP.NET MVC Web应用程序,上面有一个非常基本的订阅系统.
我的问题是在哪里最好地实现订阅结束日期.目前,以下代码位于Site.master中:
if (Profile.expires < DateTime.Today)
{
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
}
因此,每当有人访问任何页面时,此代码都会检查其用户名是否已过期.
我显然要将这段代码从Site.master页面移到Model.Helpers(或类似的东西)中,但是我想知道是否仍应从其他地方调用该代码(与MVC模式保持关联) .显然,我会将代码从site.master移出,例如Model.Helpers.Validate()
从我看来,从那里开始,可能性是:
>从site.master调用方法
>在global.asax文件中实现该方法,例如使用路由约束.
>通过所有动作的属性以某种方式实现该方法(不确定是否可行或如何实现)
谁能建议哪种方法最好?如果还有另一种最接近MVC设计模式的替代方法,请告诉我.我真的很想以“正确”的方式做到这一点:)
解决方法:
我通常通过重写onAuthorization方法将其放入基本控制器中.
标签:c,asp-net-mvc,design-patterns 来源: https://codeday.me/bug/20191210/2100324.html