.NET 一跳规则和 SharePoint Web 部件

发布于 2024-07-15 09:00:39 字数 382 浏览 7 评论 0原文

您好,我有一个 SharePoint Web 部件,它被编译为 DLL 并放置在我的 SP 站点的 BIN 文件夹中。 我的 Web 部件可以在本地计算机上运行,​​但是当我将其投入生产时,它会失败并

(401) Unauthorized.

显示“在做了一些研究之后,我遇到了所谓的“一跳规则”。 这意味着我必须传递网络用户的凭据,或者

<identity impersonate= "true" />

在我的 web.config 中使用。 我不想对网络用户进行硬编码,所以我的问题是如何在我的 Web 部件中使用模拟? dll 支持 web.configs 吗? 谢谢您的帮助。

Hi I have a SharePoint webpart which is compiled as a DLL and placed in the BIN folder of my SP site. My webpart works on my local machine, but when I put it on production it fails with a

(401) Unauthorized.

After doing some research I came acrooss what is known as the "One hop rule". Meaning I have to either pass in the credentials of a network user, or use

<identity impersonate= "true" />

in my web.config. I do not want to hard-code a network user, so my question is how can I use the impersonate in my web part? Do dll support web.configs? Thanks for the help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

小傻瓜 2024-07-22 09:00:39

您的 Web 部件在生产中失败可能是因为 CAS; 您可能需要提升权限级别或附加要在程序集上授予的特殊访问权限,因为它并不完全受信任,因为它位于 bin 文件夹中。

如果您确定这只是一个模拟问题,您能不能只在 web.config 中使用节点?

Your webpart fails in production probably because of CAS; You may need to elevate the permission level or append special accesses to be granted on your assembly, because it's not fully trusted as it is in the bin folder.

If you're sure it's just an impersonation problem, can you not just use nodes in your web.config?

ゞ记忆︶ㄣ 2024-07-22 09:00:39

在 SharePoint 应用程序的 web.config 中,模拟始终设置为 true,因此问题一定出在其他地方。 部署到 Web 应用程序的 BIN 文件夹的 Web 部件在沙箱中运行,并且默认情况下具有有限的权限。 也许这就是问题的根源。

Impersonate is always set to true in the web.config of a SharePoint application so the problem must be somewhere else. Web Parts that are deployed to the BIN folder of the Web Application run in a sandbox and, by default, have limited permissions. Perhaps that is the source of the problem.

初心 2024-07-22 09:00:39

是的,正如 Tudor 提到的,它很可能是代码访问安全。 如果您将其放入 GAC 中,则不会出现此问题(GAC 是完全受信任的)。

以下几篇文章应该可以帮助您使用 CAS 和 SharePoint Web 部件。 诀窍在于了解您需要哪些 IPermissions。

Yes, as Tudor mentioned, it is likely Code Access Security. If you put it in the GAC you would not have this problem (the GAC is fully trusted).

Here are a few articles that should help you with CAS and SharePoint web parts. The trick is knowing which IPermissions you need.

鲜血染红嫁衣 2024-07-22 09:00:39

我认为没有办法将其添加到 DLL 中。 无论如何,据我所知。

I don't think there is away to add that in a DLL. To my knowledge anyways.

遥远的她 2024-07-22 09:00:39

如果您正在考虑“双跳”问题,那么您将不会使用 NTLM。 您需要使用 Kerberos 身份验证,因为 Kerberos 票证可以从用户跳转到 Web 服务器再到 Web 服务。 您需要使用 SetSPN 设置服务主体名称。

此 Web 部件是否调用外部 Web 服务? 或者是基于本地安全的权限错误?

If you're looking at the "double-hop" issue, then you won't use NTLM. You need to use Kerberos authentication because the Kerberos ticket can hop from user to webserver to web service. You'll need to setup Service Principle Names with SetSPN.

Is this web part calling out to external web services? Or is the permissions error based on local security?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文