sharepoint页面嵌入_在其他系统Iframe中显示SharePoint 页面
前段时间在做一个项目,要求将SharePoint 的 OWA(Office Web Apps)中的文档显示页面嵌入到另外一个OA系统中,提供给用户可以通过浏览器查看SharePoint文档的能力。
嵌入我们能想到的方法就是 Iframe,这里我们暂且忽略可能存在的SSO问题。
当将SharePoint页面嵌入到Iframe中的时候,遇到了一个问题。
“此网页不能显示在一个框架中 ……”,后来经过反复的查找原因,也参考了国外的网站内容。
X-Frame-Options 就是它折磨了我一天多。后来在发现在我买了很久却只看了一章的书里有这个内容的介绍,《白帽子讲Web安全》中有一章就介绍了 X-Frame-Options,主要用来防止 ClickJacking(点击劫持)。是一种安全策略。
这个时候就不难理解SharePoint为什么会出现这种错误了。
错误原因找到了,接下来就是 解决它。
解决的思路是 用程序将 X-Frame-Options 删除掉。这样做有些冒险。但在内网环境中,我倒觉得完全可以一试。
具体方法
1. 在VS中创建一个SharePoint 解决方案项目,选择场解决方案。
2. 在项目中添加一个Feature,并为Feature添加Event事件。
3. 右键点击项目名称,选择新建项。选择ASP.Net模块。
4. 输入以下代码。
public class PermissiveXFrameHeaderModule : IHttpModule
{
private const string XFRAMEOPTIONS_HEADERNAME = "X-FRAME-OPTIONS";
private void context_PreSendRequestHeaders(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
application.Response.Headers.Remove("X-FRAME-OPTIONS");
}
public void Dispose()
{
}
public void Init(HttpApplication context)
{
context.PreSendRequestHeaders += new EventHandler(this.context_PreSendRequestHeaders);
}
}
5. 在Feature的事件程序中 添加代码如下
public class Feature1EventReceiver : SPFeatureReceiver
{
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPWebApplication application = (SPWebApplication)properties.Feature.Parent;
foreach (SPWebConfigModification modification in this.Modifications)
{
application.WebConfigModifications.Add(modification);
}
application.WebService.ApplyWebConfigModifications();
application.Update();
}
public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
{
SPWebApplication application = (SPWebApplication)properties.Feature.Parent;
foreach (SPWebConfigModification modification in this.Modifications)
{
application.WebConfigModifications.Remove(modification);
}
application.WebService.ApplyWebConfigModifications();
application.Update();
}
private SPWebConfigModification[] Modifications
{
get
{
SPWebConfigModification[] modificationArray = new SPWebConfigModification[1];
SPWebConfigModification modification = new SPWebConfigModification("add[@name='PermissiveXFrameHeaderModule']", "configuration/system.webServer/modules");
modification.Owner = "PERMISSIVEXFRAME";
modification.Sequence = 0;
modification.Type = 0;
modification.Value = "";
modificationArray[0] = modification;
return modificationArray;
}
}
6. 最后一步 就是部署它 就ok了
好吧,我承认我这个参考了老外写的东西,但日子有点久了,实在不知道他是谁了 blog地址是什么了。
sharepoint页面嵌入_在其他系统Iframe中显示SharePoint 页面相关推荐
- iframe中由一个页面跳转到另一个页面
1.HTML(父页面中存放iframe) <div ><iframe scrolling="no" id="main" name=" ...
- html页面中使用 JS 返回上一页及返回上一页并刷新,iframe中打开指定页面,跳转到指定页面
html页面中使用 JS 返回上一页及返回上一页并刷新,iframe中打开指定页面,跳转到指定页面. 常用方法: window.history.go(-1); //返回上一页 window.histo ...
- QU不可用计算机,Win10电脑系统属性中显示处理器和已安装的内存不可用的解决方法...
我们在使用Win10系统的过程中,在系统属性中发现处理器和已安装的内存出现不可用的情况,虽然提示不可用,但是电脑系统已经是可以正常运行的,如果真的处理器和内存不可用,那么肯定无法开机了,说明问题还是存 ...
- sharepoint页面嵌入_在SharePoint 2010页面中嵌入SWF文件
在SharePoint 2007之前的版本中,我们可以像在普通的html页面里一样,在SharePoint页面中插入Flash文件.但是,当我在2010里做相同的工作时却发现始终是提示"没有 ...
- iframe嵌套显示整个页面_【HTML】框架标签lt;iframegt;
说明 通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面. 格式语法: 注:该URL指向不同的网页. height 和 width 属性用来定义iframe标签的高度与宽度.属性默认以像素为单位 ...
- js取iframe 上级页面_原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法...
用原生js在父页面获取iframe子页面的元素,以及在子页面获取父页面元素,这是平时经常会用到的方法,这里写一个例子来总结下: 1.父页面(demo.html),在父页面修改子页面div的背景色为灰色 ...
- win10默认浏览器不显示谷歌浏览器_浅析win10系统谷歌浏览器网页显示不正常的应对办法...
今天小编给大家浅析win10系统谷歌浏览器网页显示不正常的应对办法,谷歌浏览器是一款设计简单.高效的Web浏览工具,因此受到很多用户的喜爱.但有用户反馈,遇到了谷歌浏览器网页打开显示不正常的问题,不知 ...
- 前端页面嵌入word文档_word文档怎样加页面
word文档怎么加页 一.添加页在WORD中,使用键盘组合键:Ctrl + 回车键可以添加页. 方法2:单击页面布局---->分隔符---->分页符,如图所示. word文档怎么在两页之中 ...
- 拦截器重定向页面 设置不在 iframe中显示
如果你要重定向到 login 页面可以在 login 页面的head中加入 <script type="text/javascript">if (window != t ...
最新文章
- Pidgin下使用Gtalk问题
- 【大白话系列】带你进入网络的世界【都说计网难,一篇即可激发你的兴趣】
- VTK:几何对象之Cube
- LeetCode 2063. 所有子字符串中的元音(数学)
- 内存分配知识:全局,局部,静态变量
- 相机标定-opencv
- 鸿蒙系统简介ppt,鸿蒙来了!华为到底采用的是什么逆天的研发体系?500页PPT详解...
- RTI_DDS自定义插件开发 7 资源
- Web前端开发常用9个开源框架
- 7月1日天刀服务器维护,天涯明月刀7月1日满级新服_天刀满级新服天命风流入君怀_3DM网游...
- 每日 30 秒 ⏱ 强风吹拂
- python百度地图显示路径_百度地图获取规划路径信息
- 第一篇:呼叫中心发展史
- 一个小工具,帮你找到赚钱思路
- 【必选项提示小方法】vue处理多个条件选择时,判断必选项没有选择的弹出对应的提示【通俗易懂,详细注释】
- java rgb cmyk_Java CMYK图片转RGB图片(TwelveMonkeys方式)
- 装修工程施工质量控制工作方法及措施
- 智慧企业的基础——知识中台
- 2021.1.30课程摘要(逻辑教育-王劲胜)
- Python 中的Numpy函数
热门文章
- UI设计中配色专辑素材|做图配色,一键搞定
- qq动态页面变方格_腾讯QQ音乐9.7.5正式版更新:「歌手主页个人主页」界面全新改版...
- python 条形图 负值_Python处理JSON数据并生成条形图
- Python爬虫项目---从wiley网站批量下载文章
- Qemu 简述 | 转
- 深入浅出 eBPF: (Linux/Kernel/XDP/BCC/BPFTrace/Cillium)
- Libco是一个C/C++协程库,在微信服务中广泛使用
- Valgrind动态分析工具
- Linux异步管道多线程速率测试
- 模块间同步消息队列的设计