相关疑难解决方法(0)

我可以在.NET中模拟其他Active Directory域上的用户吗?

我有两个Active Directory域,A和B.域A中的用户需要在其桌面上运行应用程序以查看和操作位于域B中的服务器上的资源.每个用户在域B中也有一个帐户.是否可能模仿每个用户的域B身份以编程方式对域B资源执行操作?

示例工作流程:

  1. 用户登录域A.
  2. 用户启动桌面应用程序.
  3. 用户指定域B中的资源.
  4. 应用程序提示用户输入域B凭据.
  5. 应用程序模拟用户的域B身份以访问指定的资源.
  6. 用户使用应用程序操纵域B资源.

.net impersonation active-directory cross-domain

7
推荐指数
2
解决办法
2万
查看次数

另一台机器上的目录 - 登录凭据

我的应用程序需要访问远程计算机上的文件,该计算机需要用户名和密码才能访问它.

我试图找出一个目录是否存在(使用Directory.Exists)来验证我是否可以建立'连接.

在使用远程目录时,有没有办法提供用户名和密码?目前Exists返回false.

干杯,

c# filesystems directory networking

6
推荐指数
1
解决办法
1万
查看次数

管理服务:将用户登录到桌面,生成可与桌面交互的进程

我很难找到一个非常具体的用例来工作.有问题的应用程序有两个组件:Windows服务,需要在桌面外的特权上下文中运行(即,在用户登录时是否接受连接)和客户端Winforms应用程序.该服务接受websocket连接,如果连接请求成功,则应该以交互方式(进入桌面)登录用户,并以具有桌面访问权限的用户生成进程.我使用了以下链接,虽然他们能够冒充用户,但他们实际上并没有将用户登录到桌面,即如果我使用VNC观看系统,或者我在本地系统上测试它,用户没有登录.但是,该过程会以用户身份生成,但显然不是桌面访问.

有没有人有一个代码示例,将用户登录到桌面?

我试过的链接和代码:

使用Process.Start()以Windows服务中的不同用户身份启动进程

如何正确使用LogonUser从工作组客户端公共模拟域用户

在另一个用户的凭据下启动进程

https://social.msdn.microsoft.com/Forums/vstudio/en-US/9fb068b0-507b-4b6b-879a-b0fbe492ba92/c-start-program-with-different-user-credentials

目前的代码是:

using Cassia;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.DirectoryServices;
using System.Runtime.InteropServices;
using System.Security;
using System.Security.Permissions;
using System.Security.Principal;
using System.ServiceProcess;

namespace program
{
    public partial class service
    {
        #region Interop

        [StructLayout(LayoutKind.Sequential)]
        public struct LUID
        {
            public UInt32 LowPart;
            public Int32 HighPart;
        }

        [StructLayout(LayoutKind.Sequential)]
        public struct LUID_AND_ATTRIBUTES
        {
            public LUID Luid;
            public UInt32 Attributes;
        }

        public struct TOKEN_PRIVILEGES
        {
            public UInt32 PrivilegeCount;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1)]
            public LUID_AND_ATTRIBUTES[] Privileges; …
Run Code Online (Sandbox Code Playgroud)

c# windows service impersonation

6
推荐指数
1
解决办法
654
查看次数

LogonUser仅适用于我的域

我需要使用C#模拟用户.我使用LogonUser Win32 API.当模拟与当前登录用户相同的域中的用户时,此方法可以正常工作.但是,当我尝试冒充其他域中的用户时,我会收到"false"作为响应.

是什么导致这个?

c# impersonation winapi

4
推荐指数
1
解决办法
5358
查看次数

通过用户名和密码访问域中的目录

我使用 Visual Studio 2015 在 C# 中开发了一个应用程序,该应用程序通常将一些文件从一个目录(源)复制到另一个目录(目标)。我的问题是源路径是域中的另一台计算机。我希望能够访问该目录并获取我的文件、用户域、源计算机的用户名和密码。我已经看到了一些解决方案,但我无法了解他们如何访问另一台计算机。我曾经通过使用目录来获取我的文件。GetDirectories(路径),我现在使用它太深了,无法将其更改为平滑。感谢您帮助我解决我的问题,我现在确实被封锁了好几天。

string[] folder1;
string[] folder2;
folder1 = Directory.GetDirectories(path);
foreach (string fld1 in folder1)
{
    folder2 = Directory.GetDirectories(fld);
    foreach(string fld2 in folder2)
    {
        for(int i = 0; i < MyList.Count(); i++)
        {
            if(fld2.Contains("nok") || fld2.Contains("Nok"))
                LNok = Directory.GetFiles(fld2, picList[i]);
            else
                Lok = Directory.GetFiles(fld2, picList[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# getdirectories

2
推荐指数
1
解决办法
4183
查看次数