2009-07-08 13 views
5

He escrito una característica (ámbito del sitio) que agrega elementos de menú personalizados al Nuevo menú y EditControlBlock de una biblioteca de documentos de SharePoint 2007. Estos elementos del menú deben aparecer solo cuando el usuario tiene permisos de agregar y editar para esa biblioteca de documentos. Esto funciona muy bien, excepto en un caso particular en el que el usuario solo tiene permiso de lectura para el sitio primario pero tiene control total sobre la biblioteca de documentos. En este caso, los elementos del menú en EditControlBlock se muestran correctamente, pero los elementos del menú en Nuevo menú no aparecen. He establecido los mismos derechos para todos los elementos del menú. A continuación se muestran las entradas de muestra en el archivo de manifiesto de elementos y característicasProblema de SharePoint al agregar un elemento de menú personalizado en la biblioteca de documentos

<?xml version="1.0" encoding="utf-8" ?> 
<Feature 
    Id="59bba8e7-0cfc-46e3-9285-4597f8085e76" 
    Title="My Custom Menus" 
    Scope="Site" 
    xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <ElementManifests> 
    <ElementManifest Location="Elements.xml" /> 
    </ElementManifests> 
</Feature> 


<?xml version="1.0" encoding="utf-8" ?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 

<CustomAction Id="EditMenu1" RegistrationType="FileType" RegistrationId="txt" Location="EditControlBlock" Sequence="106" ImageUrl="/_layouts/images/PPT16.GIF" Title="My Edit Menu" Rights="AddListItems,EditListItems"> 
    <UrlAction Url="javascript:var surl='{SiteUrl}'; window.location='/test/mypage.aspx?siteurl='+surl+'&amp;itemurl={ItemUrl}&amp;itemid={ItemId}&amp;listid={ListId}&amp;Source='+window.location" /> 
    </CustomAction> 

<CustomAction Id="NewMenu1" GroupId="NewMenu" RegistrationType="List" RegistrationId="101" Location="Microsoft.SharePoint.StandardMenu" Sequence="1002" ImageUrl ="/_layouts/images/DOC32.GIF" Title="My New Menu" Rights="AddListItems,EditListItems"> 
    <UrlAction Url="javascript:var surl='{SiteUrl}'; window.location='/test/mypage.aspx?siteurl='+surl+'&amp;listid={ListId}&amp;Source='+window.location" /> 
    </CustomAction> 
</Elements> 

¿Emite automáticamente alguna falta? Por favor aconséjame.

Saludos, Jagannath

+2

tema interesante, estoy tratando de averiguar por qué, permitirá saber si consigo nada. – Kusek

Respuesta

-1

puede que tenga que tratar de elevar sus permisos en el código.

SPSecurity.RunWithElevatedPrivileges(delegate() 
{ 
    using (SPSite site = new SPSite(web.Site.ID)) 
    { 
    // implementation details omitted 
    } 
}); 

run with elevated permissions

+0

¿Qué código? ¿Cómo se relaciona esto con la pregunta anterior? – Shoban

Cuestiones relacionadas