我们有一个依赖发布功能的新闻系统。它基本上是开箱即用的新闻,只有一些细微的变化。该页面包含页面内容区域。我会给出一些屏幕截图来帮助说明我的观点。
首先,页面内容区域:
Page Content Area http://img216.imageshack.us/img216/460/pagecontentxm2.png
当您在内容区域内单击时,会添加一个工具栏。如果你想添加一个 将图像添加到您在突出显示的按钮上单击的内容(这是用户尝试执行的操作):
Image Button http://img218.imageshack.us/img218/9786/pagecontentwithtoolbarwc9.png
单击图像按钮后会出现一个对话框。当用户点击浏览时 按钮他得到 403错误。
Image Properties http://img218.imageshack.us/img218/3779/imagedialogxl1.png
正如我在主题中所述,用户具有 完全控制 权限。
我已经深入了解IIS日志,发现此页面抛出了403: / _ layouts / AssetPortalBrowser.aspx
当用户点击浏览按钮时,应该让他们浏览到这个文档库: 的 /信息/新闻/ PublishingImages
如果您在对话框中注意到(第3张图片),则浏览路径为空白。如果用户粘贴到图像库的路径中,则不会发生错误。
有人知道如何解决这个403错误吗?这只发生在这一个用户身上,而且最近才开始。
答案 0 :(得分:1)
我认为AssetPortalBrowser.aspx正在进行对象模型调用以尝试获取数据以填写文件列表。如果是这种情况并且页面没有获得文件库的正确值来获取图像,则页面将尝试使用项目列表的默认值。如果该用户对默认位置没有权限,则可能会产生403。
这是所有猜测,但Fiddler没有显示AssetPortalBrowser.aspx请求任何其他页面资产。
我在我的浏览器窗口中直接输入/_outouts/AssetPortalBrowser.aspx的简短实验一直默认为文档库。该库与打开页面之前立即浏览的网站没有任何关系,因此它可能会在某处存储默认URL,它可能位于不同的位置。
最好的办法是尝试追踪最近对该用户权限的任何更改(即减少)。
答案 1 :(得分:1)
我最近在博客上谈到了这个主题
您需要一组特定的权限才能使用AssetPortalBrowser进行浏览。 棘手的是,必须在站点级别提供这些权限,仅仅将这些权限赋予库是不够的。 第二个问题是AssetPortalBrowser会记住你上次浏览的网址。因此,您当前正在添加权限的站点可能不是生成403错误的站点。
http://autoexe.blogspot.com/2009/03/assetportalbrowser-403-access-denied.html
答案 2 :(得分:0)
This可能有所帮助。还可以使用fiddler查看失败时请求的确切内容。
答案 3 :(得分:0)
尝试进一步缩小范围:
当此用户在浏览器的位置栏中输入网址http://yoursite/_layouts/AssetPortalBrowser.aspx时会发生什么?
浏览器是无法访问AssetPortalBrowser.aspx(= IIS中的misconfig)还是AssetPortalBrowser.aspx尝试访问其他内容(因此AssetPortalBrowser.aspx报告错误)
答案 4 :(得分:0)
403的子代码是什么?这通常显示为IIS日志中403之后的数字。
下表应该有助于确定这个403的根本原因:
None Access is denied.
1 Execute access is denied.
2 Read access is denied.
3 Write access is denied.
4 SSL is required to view this resource.
5 SSL 128 is required to view this resource.
6 IP address of the client has been rejected.
7 SSL client certificate is required.
8 DNS name of the client is rejected.
9 Too many clients are trying to connect to the Web server.
10 Web server is configured to deny Execute access.
11 Password has been changed.
12 Client certificate is denied access by the server certificate mapper.
13 Client certificate has been revoked on the Web server.
14 Directory listing is denied on the Web server.
15 Client access licenses have exceeded limits on the Web server.
16 Client certificate is ill-formed or is not trusted by the Web server.
17 Client certificate has expired or is not yet valid.
18 Cannot execute requested URL in the current application pool.
19 Cannot execute CGIs for the client in this application pool.
20 Passport logon failed.
答案 5 :(得分:0)
我确实遇到了这个问题。在挖掘并在组之间移动人员以查看哪些组受影响以及哪些组不受影响之后,我发现您需要至少“读取”访问集合根目录下的“网站集文档”库。为什么这个库很特殊而且没有继承权限让我感到不舒服......
作为SIte Admin,从主门户网站页面:网站设置 - >站点库和列表 - >自定义“网站集文档”。让这个库从其父级继承权限,所有这些都突然起作用。当您在那里时,请检查“网站集文档”。
答案 6 :(得分:0)
不能伤害。另外,请检查“网站集图像”库,因为您的原始错误提到了“PublishingImages”库。
答案 7 :(得分:0)
进一步的想法:我设法通过将我的测试用户添加到Portal Owners组中,然后检查浏览是否在摘要链接webpart(它确实如此)中工作来诊断此问题。如果同样的测试适合您,则意味着Portal Owners可以访问普通用户不能访问的内容。如果是这种情况,我会检查根级别的每个图书馆(与上面相同的技术),寻找常规用途无法访问的图书馆。
此外,当在摘要链接webpart并添加新链接时,有两个浏览按钮:一个进入页面,这里是dscussing,一个进入PortalImagePicker.aspx。第二个按钮是否适合您的用户?或者都是403 Forbidden?
答案 8 :(得分:0)
如果它是系统库,那么是的,它可能应该继承。系统库通常在其描述中具有类似“此库由发布功能创建”的内容。
至少,您可以记下现有权限,然后继承。如果这不能解决问题,你可以把原来的东西放回去 - 没有伤害,没有犯规。
答案 9 :(得分:0)
具体而言,它不是继承使其工作 - 它具有对库的读访问权。如果它没有任何意义,但您的用户仍然可以访问它,那么该库不是问题。