惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Securelist
V
V2EX
MongoDB | Blog
MongoDB | Blog
量子位
J
Java Code Geeks
GbyAI
GbyAI
Attack and Defense Labs
Attack and Defense Labs
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 叶小钗
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Cloudbric
Cloudbric
Recorded Future
Recorded Future
月光博客
月光博客
Help Net Security
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
N
Netflix TechBlog - Medium
M
MIT News - Artificial intelligence
N
News and Events Feed by Topic
阮一峰的网络日志
阮一峰的网络日志
The Register - Security
The Register - Security
Scott Helme
Scott Helme
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
G
Google Developers Blog
T
Troy Hunt's Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
I
InfoQ
S
SegmentFault 最新的问题
G
GRAHAM CLULEY
C
Check Point Blog
Project Zero
Project Zero
有赞技术团队
有赞技术团队
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
P
Privacy International News Feed
AI
AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Full Disclosure
C
CXSECURITY Database RSS Feed - CXSecurity.com
H
Hackread – Cybersecurity News, Data Breaches, AI and More
H
Hacker News: Front Page
S
Secure Thoughts
罗磊的独立博客
T
Threat Research - Cisco Blogs
aimingoo的专栏
aimingoo的专栏
博客园_首页
宝玉的分享
宝玉的分享
C
Cybersecurity and Infrastructure Security Agency CISA

博客园 - 雷明

Ado.Net读取Excel常见问题总结 Win7 安装.net framework 4.0 失败,错误HRESULT 0xc8000222解决办法 Excel中删除链接 ipad 3.2.2 IPAD 越狱教程 ASP.NET 链接 Access 数据库路径问题最终解决方案 代理上网后localhost使用不了,只能使用127.0.0.1解决 Windows API函数大全 一个技术转销售人员的感悟--深刻(转) 两个Excel表联动 orcale数据库的导入导出 ORACLE 创建表空间 销售七字真诀 十年创业的一封信 业务员成长计划(转载业务员网) Nokia5230刷机呕心历程 .net 消息队列简单实例 MOSS爬网-搜索自定义带参数信息 WCF创建Rest服务(附:.net2.0创建Rest服务) Hosting WCF in SharePoint 2007 (Part 1) 基本部署(转)
开启SHAREPOINT 2007匿名用户搜索功能及moss搜索界面样式更换
雷明 · 2010-09-06 · via 博客园 - 雷明

转:http://www.cnblogs.com/scally/archive/2009/05/09/1451071.html

发现问题:在Sharepoint 2007企业门户开发及使用过程中我们发现在开启网站的匿名访问的同时,匿名帐户的搜索也是我必须要考虑的问题。正常情况下,开启匿名访问的网站并不能使匿名帐户有权限进行搜索,依然要求我填入用户名及密码。

查找原因

匿名帐户是没有搜索权限的。会自动判断权限,然后转到拒绝访问页面。可以判断有一个权限判断的功能在页面里面。

使用正常权限发现,权限结果页面是layouts下的OSSSearchResults.aspx页面。

于是找到该页面,然后用记事本打开它,发现里面第一行:

 <%@ Page Language="C#" Inherits="Microsoft.SharePoint.WebControls.LayoutsPageBase" MasterPageFile="~/_layouts/application.master"   EnableViewState="false" EnableViewStateMac="false"   %>

现在可以看到这个页面是继承了LayoutsPageBase类的。

用Reflector打开Sharepoint.dll后找到Microsoft.SharePoint.WebControls.LayoutsPageBase类。

找到Onload事件,发现并没有异常,只是简单的:base.OnLoad(e);

但是在他的下面发现了一个OnLoadComplete事件的重写。

protected override void OnLoadComplete(EventArgs e)
{
    base.OnLoadComplete(e);
    if ((this.RightsCheckMode & RightsCheckModes.OnLoadComplete) != RightsCheckModes.None)
    {
        this.CheckRights();
    }
}

估计就是它了:CheckRights()

在深入一步,查看它的方法实现:

 protected void CheckRights()
{
    bool flag;
    SPUser currentUser = SPContext.Current.Web.CurrentUser;
    if (currentUser == null)
    {
    }
    flag = flag ? currentUser.IsSiteAuditor : false;
    if (!this.RequireSiteAdministrator && !flag)
    {
        if (this.PageTarget == null)
        {
            this.PageTarget = base.Web;
        }
        SPBasePermissions rightsRequired = this.RightsRequired;
        if (this.RequireDefaultLayoutsRights)
        {
            rightsRequired |= DefaultLayoutsRights;
        }
        flag = this.PageTarget.DoesUserHavePermissions(rightsRequired);
    }
    SPUtility.HandleAccessDenied(new UnauthorizedAccessException());
}

果真里面就是判断权限并跳转页面的实现代码。

下面就知道怎么办了吧。可以做个继承把这块重写了。但是经过测试,直接把继承这段删除掉就可以了。

删除代码像这样就可以了:<%@ Page Language="C#" MasterPageFile="~/_layouts/application.master"   EnableViewState="false" EnableViewStateMac="false"   %>

后记:其实解决这个问题并不是关键。况且,这也并不是解决匿名搜索的唯一方法。我们要做的只是掌握这种解决问题的方法及思路。我做Sharepoint开发才一年左右时间。一年时间里发现其中有很多可以可探索的东西,更加可以应用到普通的.NET项目中。

更希望和大家一起交流Sharepoint相关问题。

附:修改搜索中心页面的样式,可用Sharepoint Designer2007 打个搜索网站集地址(例:http://lmjob:555/sites/SearchDocument),网站里面有三个页面分别为:results.aspx(搜索结果页面)、advanced.aspx(高级搜索页面)、default.aspx(默认搜索页),还有母版页面 _catalogs/masterpage/default.master,与其它网站集一样可以自定义样式和布局,但如果要修改搜索结果列表布局样式则要熟悉xsl标记