3

我正在使用 ASP.Net MVC,我想通过 Internet 制作一个网站,但现在只对少数人开放。我想做一些基本上与带有密码的 beta 访问页面完全一样的事情,就像他们在 stackoverflow、serverfault 和超级用户上所做的那样。

我不只是想在家庭控制器中检查和重定向,我希望它总是去那里,无论使用什么 url。

有谁知道他们是怎么做到的?

4

3 回答 3

1

我对 MVC 知之甚少,但这可能意味着创建一个基本控制器并覆盖 OnActionExecuting 或 OnAuthorization。

于 2009-08-17T20:30:48.323 回答
1

我会创建一个扩展 AuthorizeAttribute 的自定义过滤器。这样你就可以把它放在你想要的控制器/动作上,然后很容易地删除它。因为它本质上是一个装饰器,所以你也可以很好地使用Open/Closed 原则

如果您覆盖AuthorizeCore,您可以检查 session/cookie/whatever 登录,如果通过,AuthorizeCore也运行基础。

于 2009-08-17T20:45:12.787 回答
0

简单的方法是在用户会话中放置一些东西。在母版页或 http 处理程序中运行检查以查看此会话是否正确。如果不重定向到密码捕获页面。提供密码后,设置会话变量……哇,它们就在其中。

如果您想记住它们,那么还可以删除一个 cookie 并将其添加到您的支票中。

于 2009-08-17T20:28:07.253 回答