2个单独的登录asp.net应用程序

时间:2010-07-21 09:59:38

标签: asp.net authentication

我需要为我的asp.net网站分别登录2个。首先,我需要完全阻止对网站的访问,并显示一个没有样式的登录页面(因此它不显示网站的布局)。

只有在网站开发时才需要此登录。

其次,我需要另一次登录网站的“会员区”。这是功能性网站的一部分,将是永久性的。

我对如何管理这两个登录感到茫然。我首先想到使用Windows身份验证来允许对网站进行预览访问,然后对成员部分进行身份验证,但根据IIS7,我“无法同时运行基于挑战和基于登录重定向的身份验证”。

有什么想法吗?

4 个答案:

答案 0 :(得分:0)

好吧,就像你读过的那样,你只能在网页应用中将它设置为窗口或表格身份验证,在你的情况下,我会选择表格身份验证,因为它可以让你做几乎所有的事情。永远需要。

在我看来,赢得认证只是一个很好的选择,如果它将是关闭的东西,除了公司之外其他任何人都无法访问,即便如此我也会认为表格认真,因为我觉得我可以更好地控制一切。如果你绝对需要两者,你需要将它们分成不同的应用程序。

答案 1 :(得分:0)

我基于会话从代码中实现了类似的东西。 在请求开始时(实际上,在basepage.oninit中)我正在检查会话中是否存在密钥。如果没有,我将用户重定向到DeveloperPassword页面。 当用户输入正确的密码时,他可以使用其他页面以及Windows窗体登录。对于实时环境,我使用空密码并忽略代码中的此检查。

答案 2 :(得分:0)

这里有一个类似的问题: IIS7: Setup Integrated Windows Authentication like in IIS6

但我认为解决方案可能不是你想要的。

我假设您只想限制人们访问您的开发网站。如果您的睾丸数量有限,为什么不限制IP地址呢?你可以在IIS7中做到这一点。

答案 3 :(得分:0)

感谢您的建议。

基本上我使用了表单身份验证和单个登录页面。

首次查看网站时,会显示登录页面,其中包含所有样式和页眉/页脚。

登录后,对登录页面的任何后续访问(访问成员区域)都会显示样式页眉/页脚。

if (!HttpContext.Current.Request.IsAuthenticated)
{
Header1.Visible = false;
Footer1.Visible = false;
Label1.Visible = false;
}