Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用特定计算机对域进行身份验证? 背景_C#_.net_Authentication_Dns_Claims Based Identity - Fatal编程技术网

C# 使用特定计算机对域进行身份验证? 背景

C# 使用特定计算机对域进行身份验证? 背景,c#,.net,authentication,dns,claims-based-identity,C#,.net,Authentication,Dns,Claims Based Identity,我们的应用程序(在.NET 4.5上)正在过渡到基于声明的身份验证 我们目前通过Asp.net成员身份验证和域身份验证工作正常 域部分如下所示(稍微概括): 问题/目标 有时,我们(或我们使用的一些顾问)使用可以查看域服务器但不是域成员的计算机进行VPN连接 从一台不在域中的机器上测试应用程序将是一个很大的帮助,而不是必须启动一台在域中的机器才能进行检查 问题: 是否有一种方法可以对不在域上的计算机上的域控制器执行域身份验证?到目前为止,我还没有找到任何关于它的研究 您可以从代码中选择和指定凭据

我们的应用程序(在.NET 4.5上)正在过渡到基于声明的身份验证 我们目前通过Asp.net成员身份验证和域身份验证工作正常

域部分如下所示(稍微概括):

问题/目标 有时,我们(或我们使用的一些顾问)使用可以查看域服务器但不是域成员的计算机进行VPN连接

从一台不在域中的机器上测试应用程序将是一个很大的帮助,而不是必须启动一台在域中的机器才能进行检查

问题: 是否有一种方法可以对不在域上的计算机上的域控制器执行域身份验证?到目前为止,我还没有找到任何关于它的研究

您可以从代码中选择和指定凭据:

using(var context = new PrincipalContext(ContextType.Domain, "mydomain", @"mydomain\serviceAcct", "serviceAcctPass")) 
{
    //Username and password for authentication.
    return context.ValidateCredentials(username, password); 
}
或者,在
runas/netonly
下运行身份验证服务器,该服务器允许您使用加入工作组的计算机的域网络凭据运行

rem if your server is standalone
runas /netonly /user:mydomain\consultantaccount C:\dev\sts\ipsts.exe

rem or you can have it in IIS Express:
runas /netonly /user:mydomain\consultantaccount "iisexpress /path:c:\dev\sts\ /port:9090 /clr:v2.0"

我会注意到,我没有实际检查
/netonly
在这种情况下是否有效,所以如果您最终尝试了它,我很想知道它是否有效。

我可以确认runas/netonly在我们非常类似的情况下运行IISExpress.exe有效。这对我们来说是一个巨大的生产力提升!我们正在开发客户端广告域中的Azure VM,这是一个与我们自己的咨询开发笔记本电脑不同的域。我们正在使用(免费)SoftEther VPN产品连接到Azure子网。Azure点对点(P2S)VPN不是一个选项,因为完整的Azure点对点正在发挥作用。无论如何,我们的场景取决于WCF调用,从ASP.Net MVC控制器到MS Dynamics AX AIF,这些调用必须来自受信任的域帐户。
rem if your server is standalone
runas /netonly /user:mydomain\consultantaccount C:\dev\sts\ipsts.exe

rem or you can have it in IIS Express:
runas /netonly /user:mydomain\consultantaccount "iisexpress /path:c:\dev\sts\ /port:9090 /clr:v2.0"