我目前正在我公司的一个互联网网站上工作,以回应我们的一些生产问题。该页面将与我们的DMZ网站的其余部分一起发布,但是我想设置一些快速身份验证,因此只有我们域中的用户(假设他们在内部访问该站点)才能访问该页面。我想使用Windows身份验证来执行此操作。
有没有快速的方法来实现这一目标?
答案 0 :(得分:2)
启用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管理员应该能够轻松处理这个问题。