ASP.net快速和脏身份验证

时间:2011-03-04 21:07:10

标签: asp.net iis-6 windows-authentication

我目前正在我公司的一个互联网网站上工作,以回应我们的一些生产问题。该页面将与我们的DMZ网站的其余部分一起发布,但是我想设置一些快速身份验证,因此只有我们域中的用户(假设他们在内部访问该站点)才能访问该页面。我想使用Windows身份验证来执行此操作。

有没有快速的方法来实现这一目标?

3 个答案:

答案 0 :(得分:2)

来自Scott Gu's blog

  

启用Windows身份验证   在ASP.NET应用程序中,您   应该确保你有   “集成Windows身份验证”   (以前称为NTLM身份验证)   在IIS中为应用程序启用   你正在建设。那你应该   将web.config文件添加到根目录   ASP.NET应用程序的目录   包含一个   将模式设置为的部分   “视窗”。

     

你还应该添加一个    部分相同   拒绝访问的web.config文件   访问该网站的“匿名”用户。   这将迫使ASP.NET始终如一   验证传入的浏览器用户   使用Windows身份验证 - 和   从代码中确保   服务器,你总是可以访问   用户名和Windows组成员身份   传入的用户。

     

以下web.config文件演示   如何配置所描述的两个步骤   以上:

<configuration>
    <system.web>
        <authentication mode="Windows" />
         <authorization>
             <deny users="?"/>
          </authorization>
    </system.web>
</configuration>

编辑:

您可以通过以下方式将身份验证设置应用于路径:

<location path="mypath.axd">
    <system.web>
      <authorization>
        <allow roles="MyRole, AnotherRole" />
        <deny users="*" />
        <deny users="?" />
      </authorization>
    </system.web>
</location>

答案 1 :(得分:2)

如果我正确理解了这个问题,您只想在应用程序的一个页面上启用安全性,而不是整个应用程序。

在IIS下,您可以逐页管理安全设置。在IIS管理器中,选择页面,然后更改安全设置以关闭匿名,并且只接受Windows身份验证。当您访问该页面时,系统会提示您登录。<​​/ p>

答案 2 :(得分:1)

您只需在IIS中使用Windows身份验证设置即可。只需关闭IIS中的匿名访问,并将Web文件夹上的NTFS权限设置为您要访问该站点的用户。您的IIS管理员应该能够轻松处理这个问题。