Sharepoint学习笔记—习题系列--70-573习题解析 -(Q32-Q34)
Question 32
You create a custom Web Part.
You need to ensure that a custom property is visible in Edit mode.
Which attribute should you set in the Web Part?
A. Personalizable
B. WebBrowsable
C. WebCategoryName
D. WebDisplayName
解析:
本题是要实现把Webpart的某个属性开放出来以供用户设置。知识点就是Webpart的编程。
从 Microsoft ASP.NET Web 部件类派生创建Web Part,这是 SharePoint Foundation 建议的做法。在添加新 Web 部件后,可添加针对 Web 部件进行个性化设置的属性。此 Web 部件属性决定了 Web 部件内呈现的文本。它基于单个用户进行个性化设置。
对于基于 ASP.NET Web 部件页基类的 Web 部件,对用于可自定义属性的标记的命名方式与基于 WebPart 基类的 Web 部件不同。以下列表对其中的每一个属性进行了说明:
•WebBrowsable 属性可确保自定义属性在 SharePoint Foundation 的编辑工具窗格中呈现。它仅允最终用户修改由此定义的相关Webpart属性,It only allows the end user to modify the property and does nothing about persistence.
•WebDescription 属性可显示一个用于在用户编辑自定义属性时为其提供帮助的工具提示。
•WebDisplayName 属性可显示自定义属性的显示名称。
•Personalizable 属性可确定对自定义属性所做的更改会影响所有用户还是单个用户。它适用于需要保存个性化设置信息的公共控件属性。ASP.NET 自动生成代码保存或从基础数据检索这些值将存储该控件当在 Web 部件页的 Web 部件区域。
必须满足以下要求为可个性化将标记的属性:
a属性必须是公共的,且必须具有公共 get 和 set 访问器。
b属性必须是读/写属性。
c属性必须是,不带参数。
d无法进行索引属性。
代码自动生成加载和保存个性化设置数据将属性。支持个性化设置的属性 (propery) 此属性是否存在是定位在属性和方法的条件的属性符合列表的约束上面。
注意[WebBrowsable]与[Personalizable]的区别:
如果使用[WebBrowsable]限定属性而不是[Personalizable] 限定属性,则最终用户可以在用户界面上修改它,但设置的新值却不能Persisted(即此处的设置不会影响其它用户)。
反之,如果你使用[Personalizable]限定属性而不是[WebBrowsable] 限定属性,它的值会Persisted(即此处的设置会影响其它用户),但却不允许最终用户修改这个属性。
从上面的区别可以直接排除选项A Personalizable了。
选项C. WebCategoryName: 提供WebPart属性的自定义类别的显示名称
选项D. WebDisplayName,提供Webpart某个属性的显示名称。
所以本题目正确选项应该是B
参考:
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.webparts.personalizableattribute.aspx
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.webparts.webbrowsableattribute.aspx
http://msdn.microsoft.com/zh-cn/library/gg491702(v=office.14).aspx
Question 33
You have a Web Part named WebPart1. WebPart1 runs on a Microsoft Office SharePoint Server 2007 server.
You need to ensure that WebPart1 can run as a sandboxed solution in SharePoint Server 2010.
What should you do?
A. Create a new Web Part by using the code from WebPart1.
B. Create a new Visual Web Part by using the code from WebPart1.
C. Create an ASCX file for WebPart1, and then copy the file to the ISAPI folder.
D. Create an ASCX file for WebPart1, and then copy the file to the CONTROLSTEMPLATES folder.
解析:
本题的意图是把一个在Sharepoint2007中创建的Webpart移植到Sharepoint2010中,并要求它支持Sandbox Solution。
相关的知识点如下:
1.Sharepoint2007只支持Farm Solution.
2.Sandbox Solution不支持Visual Web Part.(当然,这是Sharepoint2010最早的情况,现在有一个叫Visual Studio 2010 SharePoint Power Tools 的工具,安装后就可以在Sandbox Solution中开发Visual Web Part组件了)
3. Sharepoint2010中的Visual Web Part实质就是在WebPart部件中引用了ASCX用户自定义控件。
至此选项A最符合本题的要求。
选项B.严格来说不应该算错,但考虑到SandBox Solution早期的情况和相对选项A而言没有那个必要还去开发一个Visual Web Part,因些也可以排除。
选项D.C所作的操作根本就不是在开发WebPart部件,所以直接就可以排除了。
所以本题目正确选项应该是A
Question 34
You create a Visual Web Part in SharePoint Server 2010.
You need to ensure that the Web Part can access the local file system on the SharePoint server. You must minimize the amount of privileges assigned to the Web Part.
What should you do?
A. Elevate the trust level to Full.
B. Elevate the trust level to WSS_Medium.
C. Create a custom code access security (CAS) policy.
D. Deploy the Web Part to the Global Assembly Cache (GAC).
解析:
本题想要实现的是在一个Visual Web Part中对本地文件系统进行有限制的操作。
Microsoft SharePoint Foundation 中的 Web Part部件为用户提供了一种与其他系统进行交互的强大方式。SharePoint Foundation 具有内置的安全设置,可限制 Web 部件对基础系统进行的访问。开发人员可以创建自定义安全策略文件来授予 Web 部件对基础系统的更高访问权限。
代码访问安全性 (CAS) 是一种资源约束策略,用于限制程序集对受保护的系统资源和操作进行的访问。SharePoint Foundation 具有一些内置安全策略,这些安全策略是基于 ASP.NET 的内置安全策略构建的。默认情况下,SharePoint Foundation 使用一组最少的权限来确保服务器和基础结构不受恶意代码的影响。
如果 Web 部件需要比最低设置中提供的权限更高的访问权限,可以使用多种方式提高 Web 部件的权限,但只推荐使用其中一种方法。您可以为 Web 部件创建自定义 CAS 策略,或在 web.config 文件中增加服务器场的整体信任级别。这种方法存在安全风险,不推荐使用。
默认情况下,SharePoint Foundation 为部分信任的应用程序。SharePoint Foundation 可以使用 ASP.NET 内置信任级别,但也会定义自己的信任级别:
•WSS_UserCode:属于沙盒解决方案的信任级别
•WSS_Minimal: 默认情况下,SharePoint Foundation 将 WSS_Minimal 信任级别应用于虚拟服务器。此信任级别授予 ASP.NET Minimal 信任以及 Web 部件连接中的所有权限。WSS_Minimal 策略限制 Web 部件访问许多资源来执行高级操作,其中包括对象模型和文件操作。
•WSS_Medium: 信任级别授予对环境的更高访问权。此外,WSS_Medium 还允许访问 SharePoint Foundation 对象模型和文件操作,包括读取、写入、追加和路径发现。此信任级别还允许访问环境变量。读到这里你可能会觉得本题的答案就是它了,但是这种设置虽然简单,它却存在着一个很大的缺点,即:它将授予您可能不需要的任意新权限。所以此方式的安全性没有创建信任策略文件的安全性高。
上述信任级别对 ASP.NET 信任级别进行了扩展,以便与 SharePoint Foundation 结合使用。信任级别是在每台 Web 服务器的文件系统上的策略文件中定义的。具体操作是: 在 Web 应用程序根目录中的 web.config 文件中,有一个名为 <trust> 的标记,其默认属性为 level="WSS_Minimal"。可以将此级别更改为 WSS_Medium或改回来。
下面分别对各选项进行分析:
选项A. Elevate the trust level to Full. 把代码的信任权限提高到Full,这显然是在背道而驰。
选项B. Elevate the trust level to WSS_Medium.,如上描述,它达不到本题的” minimize the amount of privileges”的要求,因为它可能会开放一些你并不需要的权限。
选项C. Create a custom code access security (CAS) policy.这就是本题的答案。(微软建议)创建一个信任策略文件并将 Web.config 文件指向这个新文件。虽然这种方式更为复杂,但它使您能够设置 Web 部件的精确权限。
选项D. Deploy the Web Part to the Global Assembly Cache (GAC).
在 SharePoint 网站内,可以将 Web 部件程序集部署到以下两个主要位置。
bin 目录 — bin 目录是一个存储在 Web 应用程序根目录下的文件夹。在 Internet Information Services (IIS) 中创建网站时将确定此文件夹的位置。在 Windows SharePoint Services 中,可以通过 SharePoint 3.0 管理中心网站或通过在 IIS 管理器中手动创建新的网站来实现此目的。
全局程序集缓存 — 可用于部署已签名程序集的全局位置。利用全局程序集缓存,可以跨多个应用程序共享程序集。全局程序集缓存将随 .NET 运行库一起自动安装。通常,组件将存储在 C:\WINNT\Assembly 中。
选项D就是采用的GAC布置方式,以这种方式安装到全局程序集缓存的代码通常没有 CAS 限制,因此失去了深度保护安全的优势。
题外话: 最新的Sharepoint2013由于是基于.NET Framework4的,由于.NET Framework 4 版已经弃用代码访问安全性 (CAS) 的策略部分。因此,如果显式或隐式(通过其他类型和成员)调用过时的策略类型和成员,则可能遇到编译警告和运行时异常。所以,在SharePoint 2010 的服务器场解决方案中的程序集可用自定义访问安全 (CAS) 策略部署。但到了SharePoint 2013 中将忽略此类策略;SharePoint 2013 的服务器场解决方案中的所有程序集都以完全受信任状态运行。
所以本题目正确选项应该是C
参考:
http://msdn.microsoft.com/zh-cn/library/cc768613(v=office.14).aspx
http://msdn.microsoft.com/zh-cn/library/cc768621(v=office.12).aspx
http://technet.microsoft.com/zh-cn/library/cc288040(v=office.14).aspx
Sharepoint学习笔记—习题系列--70-573习题解析 -(Q32-Q34)的更多相关文章
- Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现
如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...
- Sharepoint学习笔记—ECM系列--文档集(Document Set)的实现
文档集是 SharePoint Server 2010 中的一项新功能,它使组织能够管理单个可交付文档或工作产品(可包含多个文档或文件).文档集是特殊类型的文件夹,它合并了唯一的文档集属性以及文件夹和 ...
- Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录
Sharepoint学习笔记—习题系列--70-576习题解析 为便于查阅,这里整理并列出了70-576习题解析系列的所有问题,有些内容可能会在以后更新. 需要事先申明的是: 1. ...
- Sharepoint学习笔记—习题系列--70-573习题解析 --索引目录
Sharepoint学习笔记—习题系列--70-573习题解析 为便于查阅,这里整理并列出了我前面播客中的关于70-573习题解析系列的所有问题,有些内容可能会在以后更新, ...
- Deep Learning(深度学习)学习笔记整理系列之(五)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(八)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(七)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(六)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(四)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
- Deep Learning(深度学习)学习笔记整理系列之(三)
Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...
随机推荐
- sql server版本
10.00.1600 :SQL 2008 10.50.1600:SQL 2008 R2 10.50.2500:SQL 2008 R2 SP1
- React JS 基础知识17条
1. 基础实例 <!DOCTYPE html> <html> <head> <script src="../build/react.js" ...
- 【weka应用技术与实践】过滤器
weka中的过滤器主要用于数据预处理阶段对数据集的各种操作. 今天简单地使用一下过滤器: 首先打开一个自带数据集weather.numeric.arff,这是一个关于通过天气条件,气温以及风力等因素来 ...
- nodejs+express中设置登录拦截器
在nodejs+express中,采用nodejs后端路由控制用户登录后,为了加强前端的安全性控制,阻止用户通过在浏览器地址栏中输入地址访问后台接口,在app.js中需要加入拦截器进行拦截: /*** ...
- Android manifest之系统自带的permission
Android manifest之系统自带的permission 本文描述Android系统自带的permission.点击查看:“关于permission的原始定义和说明”.点击查看:“Androi ...
- Java 中文字符判断 中文标点符号判断
Java Character 实现Unicode字符集介绍 CJK中文字符和中文标点判断 主要内容: 1. Java Character类介绍: 2. Unicode 简介及 UnicodeBloc ...
- android和ios,音频互通方案
好久不更新博客上,从年前从公司辞职,这半年以来,一直靠做一些外包app养活自己!也算是达成了自己年前制定的目标!可是也想着总不能一直做外包吧,所以决定做一些自己觉得有意思的app,挂到应用商店上和ap ...
- js-二维数组和多维数组
一.二维数组的表示 myarray[][] 二.二维数组的定义 方法一: var a = new Array(); for(var i=0;i<3;i++){ //一维长度为3 a[i] = n ...
- 转载:第四弹!全球首个微信小程序(应用号)开发教程!通宵吐血赶稿,每日更新!
感谢大家支持!博卡君周末休息了两天,今天又回到战斗状态了.上周五晚上微信放出官方工具和教程了,推荐程序猿小伙伴们都去试一试,结合教程和代码,写写自己的 demo 也不错. 闲话不多说,开始更新! 第七 ...
- SpringMVC核心——映射问题
一.SpringMVC 使用 RequestMapping 来解决映射问题. 二.在学习 RequestMapping 之前,首先来看一张图. 这张图表示的是发送一次 http 请求时,所包含的请求 ...