C# 为什么域用户获得UnauthorizedAccessException并将读写权限授予;每个人;?

C# 为什么域用户获得UnauthorizedAccessException并将读写权限授予;每个人;?,c#,active-directory,windows-server-2008,network-share,unauthorizedaccessexcepti,C#,Active Directory,Windows Server 2008,Network Share,Unauthorizedaccessexcepti,我们的应用程序允许用户在\\foo\bar$的共享中读写文件。管理员在共享权限和安全性选项卡上授予“所有人”读写权限。当域用户尝试写入该共享时,我们的应用程序会记录以下内容: TYPE: System.UnauthorizedAccessException MSG: Access to the path '\\foo\bar$\00074458_00076402.tif' is denied. SOURCE: mscorlib SITE: WinIOError at System.IO.

我们的应用程序允许用户在\\foo\bar$的共享中读写文件。管理员在共享权限安全性选项卡上授予“所有人”读写权限。当域用户尝试写入该共享时,我们的应用程序会记录以下内容:

TYPE: System.UnauthorizedAccessException
MSG: Access to the path '\\foo\bar$\00074458_00076402.tif' is denied.
SOURCE: mscorlib

SITE: WinIOError
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite)
   at     Ceoimage.Basecamp.DocumentServers.DirectAccessServer._TryCommitQueueFile(IDocQueueFile file)
   at Ceoimage.Basecamp.DocumentServers.DirectAccessServer.SendQueuedFiles(Int32 queueId, Int32 userId, IDocQueueFile[] queueFiles)
   at Ceoimage.Basecamp.ScanDocuments.DataModule.CommitDocumentToQueue(QueuedDocumentModelWithCollections queuedDocument, IDocQueueFile[] files)
我没有域帐户,因此无法测试此用户的有效权限,但“Everyone”是否扩展到域用户?如果“Everyone”被视为本地主体,那么除了Active Directory之外,域用户还必须向服务器进行身份验证吗?它被认为是当地的校长吗


我们的应用程序是在Windows域上的Windows 7客户端上运行的.NET WinForms应用程序,尝试访问运行Windows server 2008 R2标准SP 1的文件服务器。如果你不知道,我在这里有点不知所措。

啊,棘手的授权

我不得不处理这个问题已经有一段时间了。问题的原因是:LDAP在GUID中工作。Administrators组的guid肯定与域中当前存在的guid不同

出现此问题的原因是机器不同步,或者文件刚从以前的机器传输到新版本(不同的HDD)

有一个补丁

我会添加一个陷阱,在其中,我会获得文件的所有权,并从头开始重新应用域策略


我最近已经这样做了,如果您需要更多信息,请告诉我。

所有人
包含组
域用户
身份验证用户
中的所有用户。您确定此特定用户是域用户吗?也许他们在工作站上以本地管理员的身份运行,或者类似的方式。你的答案几乎是完整的,jim jupiter,但我不知道你后续问题的答案。现在询问他们的管理员。可能是。我还认为共享权限可能不会继承到文件。所以你可以让他们也检查这个(有一个设置)。我们无法验证这一点,因为该文件不存在,也就是说,它将是一个新文件。除非我误解了你要求我们核实的内容。你想让我检查特定文件的权限,对吗?这是不存在的。不,我的意思是没有为该共享启用对文件的权限继承。和这家伙说的差不多(它也给出了一些关于如何检查它的说明):。这比运行应用程序的非域帐户更可能发生。别担心是2003年的。它仍然适用。指向如何以编程方式“重新应用域策略”的URL的指针?啊,好吧,以编程方式。NET将是相当简单的foreach(目录中的文件。枚举文件(..)“我不必亲自这么做,因为我只有一台电脑要处理。右键单击c:驱动器并获得所有权,传播,分配适当的安全设置。请检查此处。以下是如何获取链接;需要一点通读@FlipDouble。第一个链接似乎出于某种原因无法使用。