我想设置为我工作的一个网站“内测”。该网站使用开放ID。我不希望任何人,甚至浏览网页,如果他们不参与测试。什么是实现这个的最佳方式?任何建议?

例如:

在网站正式上线,用户会去 http://www.mydomain.com ,以不要求它们进行登录。

有关欲限制访问测试版。那去 http://www.mydomain.com 用户会被重定向到一个登录页面。任何人试图访问谁没有通过认证将被重定向回到登录页面网站的任何部分。

我可以坚持[授权]都在我的控制行为的属性,但似乎傻了。

有帮助吗?

解决方案

如果您正在使用ASP.NET MVC,它带有认证/授权开箱。您应该能够用它来设定验证您的网站。

另外,您可以设置应用程序服务器设置 - IIS可以让你在它的服务,无论什么样的实际应用中可以做一个具体的站点设置的用户名/密码。如果你有机会到应用服务器,这可能是最好的解决方案。

如果您正在使用IIS6,您可以设置权限容易。在您的网站>属性>目录安全性选项卡>身份验证和访问控制>编辑用鼠标右键单击,然后输入您所选择的用户名/密码。完成。

其他提示

真正的问题是他们是如何被邀请到内测?

,你可以设置它很像serverfault.com确实下降一个cookie密码。

OR

如果你知道你是谁邀请:你可以事先通过电子邮件将它们添加到系统/登录,你已经知道关于它们的信息(假设你是通过电子邮件,邀请他们)

我已经实现在Web应用程序的功能前一阵子,我们去的可能性,以阻止访问完整的网站,除非用户是管理员(在我们的情况下,意味着用户帐户是一个特定组的成员在Active Directory)。

它是基于两件事情。首先,在Web应用程序中的所有页面继承不是直接从Page类,但是从一个自定义页面类在我们的Web应用程序。第二,我们在web.config文件的appSettings部分有这样一个值:

<add key="adminaccessonly" value="0" />

时加载自定义页面类会检查该值。如果不是0它会重定向到一个页面(即没有继承相同的自定义页面类,虽然)通知用户“该网站是现在没空”。如果该值是0的页面将加载如常。

在我们用这样才能够对网站采取“离线”的时候,我们部署了新的版本,给我们一些时间来验证一切都很好,我们在用户再次让之前该应用程序。

最好的办法是邀请系统(基于邀请码)或手动确认在接入系统后创建个人资料。 IMHO

或者,你可能拥有一个私人服务器上的网站,并建立一个VPN使用它。根据您的资源和需求,这可能是你想要的东西,而无需修改你的代码最简单,最安全的方式。

或者你也可以使用Apache或IIS来强制访问网站目录认证。保持在.htaccess认证信息一会儿。

即使您使用开放式身份验证,您可能仍然需要某种形式的授权机制。最简单的形式将是一个用户角色系统在数据库中,不同的角色分配给用户分配

在你的情况,只是分配private_beta作用到你的内测邀请人,并确保您所有的用户都private_beta特权,他们可以继续之前的授权机制。

如果您不想为公众网站提供授权(每个人都可以做任何事情,一旦被认证),那么,你可能只需要做一个快速和肮脏的后处理(对于内测版只)您open_id身份验证的用户进行检查掀起了短名单(你可以在一个文本文件存储。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top