首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

SharePoint中使用CQWP之后点击CopyUtil.aspx弹出登陆框的问题

作者:  时间: 2011-06-14

最近学习SharePoint 2007 中的 内容查询web部件(Content Query Web Part,简称:CQWP),为了能够跨站点访问列表,整个web应用程序,包括网站集以及所有网站全部启用的匿名访问.

然后在网站集的某一子网站中的首页进行编辑,并添加CQWP,在设置好查询条件之后, 保存页面。页面上出现了查询出来的结果了。点击 链接 ,却弹出登陆框让我输入账户和密码。 明明启用了匿名访问。为何还会弹出登陆框? 为了验证的确是启用了匿名访问。 我关闭了所有的浏览器,重新打开浏览器,直接输入该列表项的地址,结果证明是可以直接查看的。 

后来注意了一下,CQWP查询出来的结果的链接地址是通过一个 CopyUtil.aspx 来进行跳转到目标的..于是Google了一哈。。总算是找到解决方案了.

继承 Microsoft.SharePoint.ApplicationPages.CopyUtil 类,重写AllowAnonymousAccess属性

Microsoft.SharePoint.ApplicationPages.dll 在 C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\CONFIG\BIN\ 下

namespace ExtCopyUitl
{
    public class CopyUtil : Microsoft.SharePoint.ApplicationPages.CopyUtil
    {
        protected override bool AllowAnonymousAccess
        {
            get
            {
                return true;
            }
        }
    }
}

记得加上强签名,编译成功后.到项目文件夹的bin文件夹中找到 DLL ,扔到GAC中去并 iisreset

然后在 C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\TEMPLATE\LAYOUTS\ 下找到CopyUtil.aspx 页面

打开后再页面文件中加入

<%@ Assembly Name="ExtCopyUitl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1c5c45522ed4cd98" %>

记得加入 Name 属性,我的是 ExtCopyUitl, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1c5c45522ed4cd98

修改 Page指令中的 Inherits 属性为你的代码中的 命名空间.类名,我的是 ExtCopyUitl.CopyUtil

<%@ Page Language="C#" Inherits="ExtCopyUitl.CopyUtil" MasterPageFile="~/_layouts/application.master"  %>

然后刷新页面再点击链接,是不是不需要登录了列?

作者: 施主你不要装 发表于 2011-06-14 16:07 原文链接

评论: 0 查看评论 发表评论


最新新闻:
· Donews:搜狗输入法6.0发布 宣布开放皮肤平台(2011-06-14 15:16)
· 诺基亚与苹果达成专利和解 苹果将支付专利费用(2011-06-14 15:15)
· 赚小钱,才能赚大钱(2011-06-14 15:11)
· 魏武挥:不靠谱的效应(2011-06-14 15:02)
· RMS称私有软件让用户变得无助(2011-06-14 14:52)

编辑推荐:自己动手开发编译器(五)miniSharp语言的词法分析器

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库