使用 AD 和 Windows Server 2012(或更高版本)在内网网站上实现 Windows 身份验证






4.83/5 (5投票s)
如何使用 WS2012 在内网网站上实现 Windows 身份验证
引言
我花费了数小时尝试使用 Windows 身份验证使我的内网网站正常工作,但就是无法成功。我得到的消息是“您没有权限查看此目录或页面”。
我已经在 web.config 中添加了 AD connectionstring
,添加了成员资格提供程序部分,并尝试了所有选项,包括配置 AD connectionUsername
和 Password
,但仍然无法工作。
最终,我找到了解决方案,而且非常简单!!
背景
Windows Server 2012 及更高版本默认情况下安全性非常高。服务器上你需要的所有内容都需要安装、激活或配置。
如果您在内网站点上工作,并且所有内容都可用在一个域内,则无需配置与 AD(Active Directory)服务器的连接。因此,我们不需要在 web.config 中添加成员资格提供程序部分或 AD connectionstring
!
但是,为什么我仍然没有权限!
事实证明,剩下的所有操作就是将“Authenticated Users”(已验证用户)组的访问权限授予网站的安装路径,然后一切就绪!
Using the Code
在您的 web.config 中,在 <system.web>
标签内,您需要添加以下内容
<system.web>
...
<authentication mode="Windows">
</authentication>
<authorization>
<deny users="?" />
</authorization>
...
</system.web>
在服务器上,找到您的 Web 应用程序的安装路径(例如 C:\inetpub\wwwroot\YourApp)。
转到该文件夹的属性 --> 安全选项卡,并添加本地“Authenticated Users”(已验证用户)组。
最后,授予“Authenticated Users”(已验证用户)组 读取和执行、列出文件夹内容 和 读取 权限。
例如