我有一些新手 Web 服务/Windows 权限问题,因为我过去通常是 LINUX/嵌入式开发人员。
默认情况下,在服务器上执行的 Web 服务可以访问哪些目录?
我问是因为我试图写入 C:\ 并遇到访问冲突。我有点假设我会在这种情况下,但我假设 Web 服务可以默认写入和读取文件系统的某些区域,对吗?或者它只是当前的工作目录?
*如何授予 Web 服务权限以查看它没有默认访问权限的新目录?*
这是 C# - ASMX - .NET 3.5 - IIS
我有一些新手 Web 服务/Windows 权限问题,因为我过去通常是 LINUX/嵌入式开发人员。
默认情况下,在服务器上执行的 Web 服务可以访问哪些目录?
我问是因为我试图写入 C:\ 并遇到访问冲突。我有点假设我会在这种情况下,但我假设 Web 服务可以默认写入和读取文件系统的某些区域,对吗?或者它只是当前的工作目录?
*如何授予 Web 服务权限以查看它没有默认访问权限的新目录?*
这是 C# - ASMX - .NET 3.5 - IIS
WebService 实际上并没有任何关联的访问控制与之关联(在某种意义上)。但是,它与用于运行应用程序的用户帐户的访问控制相关联。默认情况下,这通常是一些具有有限权限的内置用户帐户。
IIS 使用许多内置的 Windows 帐户,以及特定于 IIS 的帐户。出于安全原因,您应该了解不同的帐户及其默认用户权限。更改工作进程的标识以使其作为具有高级访问权限的帐户(例如 LocalSystem 用户帐户)运行可能存在安全风险。
在此处查看可能的用户帐户列表:http: //www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/3648346f-e4f5-474b-86c7-5a86e85fa1ff.mspx?mfr=true
如果您启用了匿名身份验证,您通常可以检查其设置以查看正在使用哪个帐户来运行 Web 服务。(根据您使用的 IIS 版本,单击编辑应该可以查看默认用户帐户)
找到帐户后,通常您必须明确授予它对您要授予其访问权限的文件夹(读取和写入)的权限。默认用户帐户的访问权限通常非常有限(并且有充分的理由)。您可以在 Windows 文件系统上任何文件夹的属性的安全选项卡上授予权限(属性->安全)
If you're using Windows Authentication, then you should have the same access rights as the authenticated user using the application as long as the resources are local to the IIS server.