【问题标题】:Getting Access is denied for the user NT AUTHORITY\NETWORK SERVICE.while accessing coreservice Tridion用户 NT AUTHORITY\NETWORK SERVICE 的访问被拒绝。访问 coreservice Tridion
【发布时间】:2012-12-30 10:45:30
【问题描述】:

当我使用本地的 tridion 2011 核心服务编写自定义页面时,我使用我的 tridion 凭据访问核心服务 web 服务。

现在,当一切都在我的本地 :) 上完成后,我发布了我的网站,并在 Tridion CM 服务器上简单地做了以下事情。

  • 在 IIS 中,我创建了名为“CoreServices”的新应用程序网站
  • 使用 Network USer 使用了应用程序池
  • 复制了我在 coreservice 映射文件夹中发布的网站。
  • 从 Web 配置中删除了我的凭据,并实现了读取访问网站/自定义页面的用户详细信息的逻辑
  • 现在当我尝试访问 coreservice 网站时,出现以下错误

    用户 NT AUTHORITY\NETWORK SERVICE 的访问被拒绝。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

    异常详情: System.ServiceModel.FaultException`1[[Tridion.ContentManager.CoreService.Client.CoreServiceFault, Tridion.ContentManager.CoreService.Client, Version=6.1.0.996, Culture=neutral, PublicKeyToken=ddfc895746e5ee6b]]: 用户 NT AUTHORITY\NETWORK SERVICE 的访问被拒绝。

请推荐!!

编辑:我可以看到 NT AUTHORITY\NETWORK SERVICE 已经添加到我的 Tridion MMC 中,请看下面的截图:

【问题讨论】:

  • 我已经检查了这个链接并没有解决我的问题,我是否需要为我的 IIS 应用程序提供更多权限或从代码中进行一些处理。

标签: tridion tridion-2011 tridion-core-services


【解决方案1】:

试试这个,如果它适合你,我还没有尝试过,所以不确定它是否会起作用

var remoteAddress = new EndpointAddress(Settings.EndpointAddress);
ProxyClient = new CoreServiceClient(basicHttpBinding, remoteAddress);
ProxyClient.ClientCredentials.Windows.AllowNtlm = true;
ProxyClient.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
ProxyClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

【讨论】:

    【解决方案2】:

    此消息表明您的代码已成功调用核心服务,并且您的网络凭据已成功识别,但 Tridion 未授予访问权限。这里有两种可能的情况:

    1. 您希望 Tridion 使用 NETWORK SERVICE 身份作为受托人在其下采取行动。在这种情况下,网络服务将被添加为用户。这将是一个不寻常的配置,因为您通常希望 NETWORK SERVICE 成为模拟用户以用于其他目的。
    2. 您希望作为网络服务连接到 Tridion,但随后让 Tridion 充当不同的受托人。在这种情况下,NETWORK SERVICE 应在管理管理单元中配置为模拟用户,并且您必须按照问题 John 链接到 (Tridion CoreService Authentication/Impersonation) 中所述调用 Impersonate 方法

    这两种方法中的第二种几乎可以肯定是您想要的。我实际上只是通过解释的方式描述了第一个。

    【讨论】:

    • 谢谢 Dominic,所以你会建议哪种方案,因为我希望用户从他的机器访问自定义页面,如果他在组件或页面中进行了一些修改,他的详细信息应该添加到 tridion 历史记录中跨度>
    • 那么您将需要模拟方法。
    • 我添加的屏幕截图将显示 NT AUTHORITY\NETWORK SERVICE 条目以进行模拟,我还可以检查什么
    猜你喜欢
    • 2023-03-23
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2014-04-29
    • 2020-09-04
    • 1970-01-01
    相关资源
    最近更新 更多