0

我认为这是设计使然(因此可能是一个愚蠢的问题),但是有没有办法确定连接到 Dynamics CRM 时产生的身份验证问题。

我正在创建一个连接的第三方应用程序,我想说“无效密码”而不是“身份验证失败”。以下是我所拥有的。

namespace MyCRM
{
public class MyCRMClass
{
    public static void ConnectToCRM()
    {
        Uri serverURI = new Uri('https://myorganisation.api.crm5.dynamics.com/XrmServices/2011/Organization.svc');
        ClientCredentials clientCredentials = new ClientCredentials();
        clientCredentials.UserName.UserName = 'Username';
        clientCredentials.UserName.Password = 'Password';

        OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(serverURI, null, clientCredentials, null);
        serviceProxy.EnableProxyTypes();

        try
        {
            Guid UserId = ((WhoAmIResponse)serviceProxy.Execute(new WhoAmIRequest())).UserId;
        }
        catch (Exception ex)
        {
            // Throws Authentication Issue
        }
    }
}
}

通过调用 WhoAMIRequest,我可以得到一个身份验证错误,但是我真的很想知道是什么错误,以便我可以帮助员工解决他们自己的问题。

我是否正确地建议使用 CRM 网络服务不可能做到这一点?

4

1 回答 1

1

您将永远无法像从客户端请求的那样获得错误信息。理论上,您可以在服务器上打开跟踪日志记录,但出于各种原因,这将是一个坏主意。

通常说密码无效是一个安全问题,因为它允许黑客知道该帐户是有效的,并且如果他们能找出密码,他们就会进入。

于 2013-07-18T02:42:03.503 回答