Мне нужно выдать себя за мой код для запуска с другим идентификатором пользователя Windows, сейчас я использую некоторый код, полученный из Интернета, который вызывает некоторые нативные библиотеки.
цель кода состоит в том, чтобы изменить разрешения для прав доступа к каталогам пользователей файлового сервера.
Я могу изменить разрешения для своей папки, но у меня есть учетные данные другого пользователя, чтобы перейти и изменитьразрешения на его папку.Но я запускаю код на своей машине, выдавая себя за него.
Но я получаю несанкционированное исключение.
код, который я использую:
[DllImport("advapi32.dll", SetLastError = true)]
private static extern int LogonUser(
string lpszUserName,
string lpszDomain,
string lpszPassword,
int dwLogonType,
int dwLogonProvider,
ref IntPtr phToken);
Я не уверен, что это работает в Windows 7 или нет.Есть ли кто-нибудь, кто сталкивался с подобной проблемой? ..
Исключение, которое я получаю:
Messagee:"{"Attempted to perform an unauthorized operation."}"
stack trace:
at System.Security.AccessControl.Win32.SetSecurityInfo(ResourceType type, String name, SafeHandle handle, SecurityInfos securityInformation, SecurityIdentifier owner, SecurityIdentifier group, GenericAcl sacl, GenericAcl dacl)
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, SafeHandle handle, AccessControlSections includeSections, Object exceptionContext)
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, AccessControlSections includeSections, Object exceptionContext)
at System.Security.AccessControl.NativeObjectSecurity.Persist(String name, AccessControlSections includeSections)
at System.Security.AccessControl.FileSystemSecurity.Persist(String fullPath)
at System.IO.Directory.SetAccessControl(String path, DirectorySecurity directorySecurity)
at FolderAccessManager.Program.Main(String[] args) in
Не могли бы вы поделиться некоторыми решениями? ..