错误:“网站拒绝显示此网页”使用 AjaxControlToolkit 3.5
我有什么?
我在 SharePoint 的 12 个配置单元的布局文件夹中部署了一个 ASP.NET 页面。此页面使用 AjaxControlToolkit.dll V3.5.40412.2 中的 Accordion 控件。
我已将页面代码放置在虚拟目录 bin 文件夹中的类程序集和 AjaxControlToolkit.dll 后面。
我想要什么?
当 DLL 放置在虚拟目录 bin 文件夹中时,我希望在“访问者”网站组的用户从 Web 部件单击链接时加载此页面。
我面临什么问题?
页面可以为管理员正确加载。但是,对于“访问者”,它显示“网站拒绝显示此网页”错误消息。
在这些情况下,页面对于“访问者”工作正常:
- 如果我将两个程序集都放在 GAC 中
- 如果我向每个人授予对 AjaxControlToolkit.dll(在 bin 中)的读取权限,
我是否在这里遗漏了某些内容?
更新:我注意到的一件奇怪的事情是我删除了每个人对 DLL 的读取权限,并授予“Visitors”组中的一个用户对 DLL 的读取权限。然后,我尝试使用该用户登录,这对他来说效果很好。但是,现在,它适用于“访客”组中的所有用户。我很惊讶!当我再次删除用户读取权限时,所有用户都会重复相同的错误。怎么会发生呢?
What I have?
I have a ASP.NET page deployed in layouts folder of 12 hive in SharePoint. This page makes use of Accordion control in AjaxControlToolkit.dll V3.5.40412.2.
I have placed the page code behind class assembly and AjaxControlToolkit.dll in Virtual Directory bin folder.
What I want?
I want to load this page when a link clicked from a web part for users of "Visitors" site group when the DLLs are placed in virtual directory bin folder.
What problem am I facing?
The page loads properly for administrator. But, for "Visitors", it shows "The website declined to show this webpage" error message.
In these scenarios the page works fine for "Visitors":
- If I place both the assemblies in GAC
- If I give Everyone read permission to AjaxControlToolkit.dll (in bin)
Am I missing something here?
Update: One strange thing I noticed was I removed everyone read access to the DLL and given one of the users in "Visitors" group read permission to the DLL. Then, I tried to login with that user and it works fine for him. But, now, it is working for all the users in "Visitors" group. I am surprised! When I removed the user read permission again same error repeated for all the users. How can it happen?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
放置在 bin 文件夹中的 DLL 在完全信任下无法运行,您需要创建代码访问安全 (CAS) 策略文件并将其部署到您的共享点应用程序。 .NET 框架使用 CAS 策略将执行权等分配给(特定的)dll。
更多信息此处< /a>.
DLL's that are placed in the bin folder do not run uner Full Trust, you need to create a Code Access Security (CAS) policy file and deploy that to your sharepoint application. CAS policies are used by the .NET framework to assign execution rights etc. to (specific) dll's.
More info here.