编程语言
首页 > 编程语言> > C#-MVC中用户到期的最佳位置

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