Stackoverflow在进行beta测试时使用了类似的技术。有什么想法吗?
编辑澄清。我无法访问此特定应用程序的IIS,因为我正在使用托管主机。
答案 0 :(得分:1)
一些想法:
答案 1 :(得分:1)
您可以连接一个快速自定义AuthorizeAttribute来检查自定义Auth cookie。只需在测试版中装饰你的控制器,并在你准备好时删除它们。
这样的东西(PS - 没有经过测试就可以实现这一点):
public class BetaTestAuthorize : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
//if(cookie checks out ok)
//return true;
//else
//httpContext.Response.Redirect("BetaLoginPage");
return base.AuthorizeCore(httpContext);
}
}
有这样的行动方法:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult BetaLogin(string username, string password)
{
if(username == "whatever" && password == "whatever")
{
//create custom cookie
return RedirectToAction("Index", "Home");
}
else
return View();
}
答案 2 :(得分:0)
在Visual Studio中创建一个新的ASP.NET MVC项目时,会自动获得一个使用ASP.NET底层MembershipProvider的AccountController来提供登录机制。
即使您在最终应用程序中没有它,也可以将其用作临时解决方案,直到您的实际安全机制启动并运行。
它要求您为这些ASP.NET服务设置SQL Server数据库,但根据您对它的熟悉程度,您可以在十分钟到几个小时内完成。
当公开测试版结束时,您可以放弃AccountController和数据库。
答案 3 :(得分:0)
我使用dhulk - 在IIS上使用Windows身份验证。该路由将允许您避免在应用程序中放置任何身份验证代码。更简单更好,我想避免做工作来实现会员制,然后 un - 实现它。
答案 4 :(得分:0)
我将创建一个简单的登录视图,该视图设置在 Global.asax 文件中Session_Start()
上检查的会话......就像这样:
protected void Session_Start()
{
if (!Convert.ToBoolean(Session["authenticated"]))
{
// Redirect to the login View
}
}
当您准备好为每个人打开您的应用程序时,只需删除 Global.asax 文件中的View和三行代码。
答案 5 :(得分:0)