即使使用RPC_C_AUTHN_NONE,Windows RPC访问也被拒绝

时间:2015-05-07 16:45:35

标签: c windows rpc

尝试将RPC客户端连接到RPC服务器时出现此错误:

Error occurred:5

一些谷歌搜索向我展示了这个错误的含义:access denied。 麻烦不是来自防火墙。

这是服务器部分,我在其中指定RPC_C_AUTHN_NONE以允许每个人连接:

RPC_STATUS status;
printf("RPC Server Starting...\n");

status = RpcServerUseProtseqEp(
    (unsigned char *)"ncacn_ip_tcp",
    RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
    (unsigned char *)"9191",
    RPC_C_AUTHN_NONE);
if (status) { printf("Error:%d\n", status); exit(status); }
printf("RPC Server Configured\n");

以下是引发错误的客户端部分:

RpcTryExcept {
    unsigned char szMsg[] = "Client: I can RPC now!\n";
    md5(szMsg);
} RpcExcept(1) {
    printf("Error occurred:%d\n", RpcExceptionCode());
}
RpcEndExcept

如何更正此问题,以便让任何RPC客户端连接?

按照相同的顺序,您是否知道用于Windows RPC身份验证的良好RPC文档?

非常感谢!

1 个答案:

答案 0 :(得分:0)

我花了一些时间来弄清楚为什么会发生这种情况,我在找到解决方案时提供了这个答案,以帮助那些可能遇到这种麻烦的人:

默认情况下,RPC连接仅授予经过身份验证的客户端。可以通过编辑注册表项或应用GPO来禁用未经身份验证的用户here的限制。