C# 可以登录到本地组织

C# 可以登录到本地组织,c#,login,dynamics-crm-2011,C#,Login,Dynamics Crm 2011,这不是打字错误。我的问题是我不能登录。我们的CRM服务器可以通过我登录的VPN访问。然后,我运行以下代码 ClientCredentials credentials = new ClientCredentials(); String orgUrl = "http://server/konrad01/XRMServices/2011/Organization.svc"; OrganizationServiceProxy _serviceProxy = new OrganizationService

这不是打字错误。我的问题是我不能登录。我们的CRM服务器可以通过我登录的VPN访问。然后,我运行以下代码

ClientCredentials credentials = new ClientCredentials();
String orgUrl = "http://server/konrad01/XRMServices/2011/Organization.svc";
OrganizationServiceProxy _serviceProxy = new OrganizationServiceProxy(
  new Uri(orgUrl), null, credentials, null);
这是一个全新的组织,一无所有。当我列出例如系统用户时,我会得到点击,因此显然我能够连接到它。但是怎么做

我已经经历了我能想到的一切。我删除了所有的互联网历史记录,包括但不限于cookies。我从控制面板中的凭据管理器中删除了对服务器的所有引用。我禁用了用于登录服务器所在RDP的凭据存储。娜达!持久化duck(预期类型)仍然连接。我如何使它不连接?!(除非我提供凭证。)

假设:

  • 您有一个简单的内部部署
  • 您正在使用简单的active directory身份验证
  • 运行应用程序的用户在CRM中具有权限
当应用程序连接到CRM时,您没有在
ClientCredentials
中指定任何特定用户,因此它提供运行应用程序的用户的凭据

该用户在CRM中具有权限,因此允许他们进行身份验证和执行操作

要测试此功能,请尝试以在CRM中没有权限的用户身份运行应用程序,并查看他们是否仍然能够连接

进一步阅读:


如果您是CRM中的用户,即使您的用户被禁用,您仍然可以创建一个_serviceProxy,但在尝试检索或执行任何操作时,您会遇到错误


如果您的用户在CRM中不存在,则您甚至无法创建代理。

这听起来像是服务器配置问题,而不是代码问题……运行应用程序的用户是否在CRM中拥有权限?是否有其他组织在同一个框中?你可以选择其中一个吗(建议将另一个设置为默认值)@JamesWood不确定实际登录的用户是谁。我没有为新组织中的任何人分配任何特殊权限。但这是我创造的。也许我可以请一位同事创建一个组织,看看他是否是唯一的系统用户,我仍然可以登录。@glosrob还有很多其他组织,其中大部分都是我的,因为我喜欢玩东西,想看看什么东西可以用很酷的方式打破。事实上,有一次,我的服务器坏得很厉害,两个人(一个有6个证书,另一个是MVP)花了一天时间才修好这其实是一个很合理的理由——我明天第一件事就是把它打一顿。嗨,詹姆斯!如何定义简单部署和简单广告?另外,您将什么称为运行应用程序的用户?它是
Net.CredentialChache.DefaultNetworkCredentials
还是
Environment.UserName
或其他完全不同的东西?我想简单可能是个错误的词,我的意思是你没有更改任何默认设置,也没有使用ADFS或类似的东西。“运行应用程序的用户”通常是在运行应用程序时登录的用户,例如,如果您有一个控制台应用程序,并且您运行.exe,则运行应用程序的用户就是您。如果您从VisualStudio运行代码,那么用户就是打开VS的人,例如您。那么,似乎我根本不需要输入任何凭据。我正在向组织发送URL以及三个空的凭据等等。CRM似乎可以识别当前登录的用户,并使用这些凭据。出乎意料+1链接。