zoukankan      html  css  js  c++  java
  • 利用Microsoft.SharePoint.Administration 来管理WSS(sharepoint)

    建立我们的wss站点以后,我们可以通过wss管理台来管理wss站点。
    微软同时也提供了Microsoft.SharePoint.Administration这个命名空间来提供相应的管理功能给我们。
    这里是微软知识库的文章
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/tsansMicrosoftSharePointAdministration_SV01027830.asp

    通过对Microsoft.SharePoint.Administration的了解,我们几乎可以做到通过控制台完成的所有事情。
    我这里举个例子来说明,如何使用这个命名空间来管理wss站点。
    前一篇文章说明了,如何在webpart上使用Treeview控件
    http://www.cnblogs.com/king_astar/archive/2005/04/05/132662.html
    其中有一个过程就是将web_client排除在wss管理路径之外。
    当时我们的做法是通过wss控制台来完成,现在让我们使用代码的力量吧。

    特别注意,要想通过Microsoft.SharePoint.Administration来管理站点,必需是全局administrator,站点的administrator都无法运行相关代码

    先来显示一下wss管理的路径有哪些,
    Microsoft.SharePoint.Administration.SPGlobalAdmin ospGlobalAdmin = new SPGlobalAdmin();
                
    //Other sample code
                SPVirtualServer olocalHost = ospGlobalAdmin.OpenVirtualServer(
                 
    new Uri("http://localhost"));
                Text 
    = olocalHost.Version.ToString();
                Text 
    +="<br>"+ospGlobalAdmin.IsCurrentUserGlobalAdmin( ).ToString();
                
    for(int i=0;i<olocalHost.Config.Prefixes.Count;i++)
                
    {
                    Text
    +="<br>"+olocalHost.Config.Prefixes[i].Name+" "+olocalHost.Config.Prefixes[i].PrefixType.ToString();
                }


    先实例化一个SPGlobalAdmin,全局管理类,
    确定管理哪个虚拟服务器,注意到没有跟wss管理站点几乎一样。
    我觉得微软建立的模型的确不错。
    接着显示,host版本,确定自己是否是全局管理员角色。
    找到虚拟服务器了,我们来看看配置-config
    很好找到我们想要的东西了, Prefixes
    ok,第一步,我们先尝试把它的管理的路径列出来。

    编译,拷贝到服务器。
    显示,出现安全限制问题,还是象以前不管它,先在web.config文件中设置

    <trust level="Full" originUrl="" />

    后面我会说如何不用level=full的配置文件。

    继续尝试刷新界面,OK,东西出来了。


    好的,我们来尝试把webctrl_client加入到wss排除路径中去(注意图中已经显示webctrl_client已经排除了,我们这里假设未排除)
    这一步也很简单:
    我们先把全局设置成为允许不安全更新。
    请注意,如果不设置这步以下的更新不能完成。
    另外,这步不设置,wss的提示信息为
    请将SPWeb的AllowUnsafeUpdates 设置为true,这里有点问题,因为并非是站点的administrator有权限,而是全局的才有权限
    请注意我们设置ospGlobalAdmin.Config.GlobalAdmin

    try
                
    {
            
                    ospGlobalAdmin.Config.GlobalAdmin.AllowUnsafeUpdates 
    = true;
                    
                    //olocalHost.Config.Prefixes.Delete("rockTestFolder");

                    
    olocalHost.Config.Prefixes.Add("rockTestFolder",Microsoft.SharePoint.Administration.SPPrefixType.Exclusion);
                }

                
    catch(System.Exception ex)
                
    {
                    Text 
    = ex.Message;
                }

                
    finally
                
    {
                    ospGlobalAdmin.Config.GlobalAdmin.AllowUnsafeUpdates 
    = false;
                }


    运行通过。


    另外说一说,如果不设置level=full,怎么样修改,
    WSS_Minimaltrust.config文件,
    需要添加如下代码

    <SecurityClass Name="SharePointPermission" Description="Microsoft.SharePoint.Security.SharePointPermission, Microsoft.SharePoint.Security, Version=11.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" /> 
    <SecurityClass Name="EnvironmentPermission" Description="System.Security.Permissions.EnvironmentPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 


    <IPermission class="SharePointPermission" version="1" Unrestricted="true" Name="FullTrust"  Description="Allows full access to all resources"/> 
    <IPermission class="EnvironmentPermission" version="1" Unrestricted="true" Name="FullTrust"  Description="Allows full access to all resources"/> 


    修该SecurityPermission

      <IPermission 
                                        
    class="SecurityPermission"
                                        version
    ="1"
                                        Unrestricted
    ="true"
                                
    />


  • 相关阅读:
    站点收藏
    深入理解HttpModule和HttpHandler
    搜索引擎URL参数解析
    ExtJs学习之路进度条
    Net加密保护工具分析介绍
    基于百度搜索开放平台的天气查询
    Squid配置
    ArcEngine中对已经存在的数据表格添加字段(转载)
    ArcGIS Engine开发基础之QI(转载)
    Arcgis Engine 开发术语(转载)
  • 原文地址:https://www.cnblogs.com/king_astar/p/136847.html
Copyright © 2011-2022 走看看