我使用的是 VSTS 2008 + C# + .Net 3.5 + IIS 6.0 + Windows Server 2003 Enterprise x64 SP2 + ASP.Net。我在 IIS 网站中使用任意身份验证 + Windows 身份验证模式,并将用户身份映射到任意帐户中的 mycorp\george,并使用 mycorp/george 运行 IIS 工作进程。我还将 mycorp\george 添加到 IIS Web 服务器计算机的管理员组。 “mycorp”是我的部门正在使用的(Windows Active Directory)域名。
使用帐户 mycorp\george 从另一台计算机访问网站时,我总是遇到未经授权的错误 (401)(但从本地计算机访问网站时没有错误。)该网站是共享点网站使用Share Point Service 3.0。
我还使用了IIS身份验证和授权工具进行诊断,这是我正在使用的工具http://www.microsoft.com/downloads/details.aspx?familyid=63AAF167-2138-4231-B6ED-56298044BD3B&displaylang=en
此工具报告类似的身份验证和授权问题,
mycorp\george 帐户没有从网络访问此计算机的权限 Path:W3SVC/1670937635/ROOT 身份验证类型:匿名 服务器的响应:HTTP/1.1 401 访问被拒绝 了解IIS状态码路径:W3SVC/1670937635/ROOT 身份验证类型:匿名
有什么想法是错的吗?我认为对于像 mycorp\george 这样的管理员帐户,该帐户应该没有权限(身份验证和授权)限制问题。
提前致谢, 乔治
最佳答案
有多种可能的问题:
1。如何配置本地帐号远程访问
系统是否在域或工作组中?如果在工作组中,除非您进行更改,否则管理员帐户的所有远程访问都将被禁用(他们被视为访客)。
您可以在本地安全策略中更改此设置:
- 从开始运行
secpol.msc
|运行 - 前往本地政策 |安全选项
- 选择设置“网络访问:本地帐户的共享和安全模型”
- 确保将其设置为“经典:本地用户以自己的身份进行身份验证。”
(解释选项卡提供更多详细信息。)
在 secpol
中还要检查您是否正在审核帐户登录。
2。 ISS 身份验证设置
虚拟目录的身份验证设置是什么?是否启用匿名访问?是否启用了 Windows 身份验证?
如果您正在审核帐户登录事件,请检查安全事件日志以查看在用户经过身份验证后应发生的登录。
3。文件系统有哪些权限
远程用户(对于 Windows 身份验证)或工作进程身份(对于匿名)是否具有对文件系统对象的读取访问权限?
使用Process Monitor查看文件是否正在被访问(或尝试访问它们),这应该有助于查看是否是 IIS 在内部生成未经授权的错误或使用文件系统拒绝访问。
4。返回到错误
HTTP/1.1 401 Access denied Learn about IIS status codes Path:W3SVC/1670937635/ROOT AuthType:Anonymous
这似乎是说客户端没有被授权为其 Windows 帐户。这似乎是值得关注的领域。如果客户端浏览器在服务器盒子上运行,你会得到相同的结果吗?不同的盒子怎么样,不同的浏览器怎么样?是否为适用区域配置了 IE 以允许 Windows 身份验证?
关于asp.net - 奇怪的 IIS 管理员授权问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453350/