IIS7基本身份验证,用于保护使用表单身份验证的站点

Aar*_*ron 16 authentication iis-7 basic-authentication

这应该比它证明的要简单得多!

我有一个ASP.Net Web应用程序,它使用FORMS身份验证来保护站点的一部分(即成员登录区域).

现在我只想在整个网站上放置一个传统/简单的浏览器密码弹出窗口(目录安全性),因为我们正在测试它,并且不希望任何人偶然发现整个网站并看到未完成的版本等!

在旧的IIS版本中,这曾经非常简单.

我已经"安装了基本身份验证"(因为IIS7现在没有开箱即用).但是当我启用它时,它告诉我我不能同时启用任何基于重定向的身份验证(这是我的FORMS身份验证使用的).

所以这只是愚蠢的.

必须有一种超级简单的方法来简单地在整个站点上放置一个廉价的弹出密码,而不会影响您在web.config中为实际应用程序设置的其他身份验证方法.

非常感谢..

更新 IP访问限制并不是出于以下几个原因: - 我的IP是动态的,因此不断变化. - 我不想打扰任何需要看到该网站的人,要求他们在他们的机器上调出一个控制台并计算他们的IP地址或检查他们的路由器等.其中许多是非技术性的商业用户,它会花一个小时来计算他们的IP地址. - 基本身份验证和Windows身份验证都不允许底层表单身份验证保留在下面.

我们在这里看到的是一个巨大的案例,微软试图过度设计事物,因此超级简单的古老要求不再可能或不易实现.这有可能以某种方式...任何人???

小智 5

我遇到了同样的问题.我将建立一个仅限于预览组的测试版网站.该网站使用表单身份验证,但预览组中的某些人将拥有网站帐户,而其他人则不会.无论每个人都需要在root身份验证才能访问预览.

到目前为止,我唯一能按照我想要的方式工作的是Helicon Ape.我正在进行试验,到目前为止一直很好.

root中的标准.htaccess文件.

AuthUserFile c:\fakepath\.htpasswd
AuthType Basic
AuthName "SITE SECURITY"
Require valid-user
Run Code Online (Sandbox Code Playgroud)

用户.htpasswd添加用户名和密码:username:encryptedpassword.


小智 2

因为您想使用 FORMS 身份验证,所以有一个简单的解决方案适合您......

  1. 将此部分添加到主标题下的 web.config 中。不要合并它——只需将其复制粘贴为一个块即可。位置标记会将这些规则与 web.config 的其余部分隔离,并允许稍后轻松删除。

     <location allowOverride="false">
                 <system.web>
                     <authentication mode="Forms">
                         <forms loginUrl="frontdoor.aspx" name=".ASPXFORMSAUTH">
                         </forms>
                     </authentication>
                     <authorization>
                         <deny users="?" />
                     </authorization>
                 </system.web>
             </location>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建一个名为“frontdoor.aspx”的页面。从以下链接获取该 aspx 页面的内容:http://msdn.microsoft.com/en-us/library/xdt4thhy.aspx(向下滚动到显示“创建登录页面”的位置)

  3. 全做完了!这将锁定您的整个网站,并允许您独立于网站的其余部分指定前门的用户名和密码(我将此过程称为“锁定前门”)。前门凭据在前门文件本身中指定(不是很安全,但足以满足您(我们)的需要)在此条件中:

    [第 6 行:]

    If ((UserEmail.Text = "TheSharedFrontDoorLogonName") And (UserPass.Text = "AndItsPassword")) Then
    
    Run Code Online (Sandbox Code Playgroud)

修改条件以满足您的需求,然后通过电子邮件将您的客户/企业类型的凭据发送到前门。