Acceso Denegado cuando la activación de las características de la aplicación de SPFeatureReceiver?
-
09-12-2019 - |
Pregunta
Hemos desarrollado varias funciones que implementan los SPFeatureReceiver de la interfaz.Cuando se trata de ello en el entorno de desarrollo es el primer error hasta que he encontrado esta secuencia de comandos de la MSDN:
function Set-RemoteAdministratorAccessDenied-False()
{
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint") > $null
[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint.Administration") > $null
# get content web service
$contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
# turn off remote administration security
$contentService.RemoteAdministratorAccessDenied = $false
$contentService.Update()
}
Set-RemoteAdministratorAccessDenied-False
Después de ejecutar la secuencia de comandos y restablecer IIS, todo funcionó bien en desarrollo y que podrían activar la característica (como la Granja de servidores de Administración) en Site Settings > Manage Site Features
con el alcance establecido para el Sitio http://mysolution/_layouts/ManageFeatures.aspx?Scope=Site.Después de la activación que invierte la propiedad RemoteAdministratorAccessDenied a la verdad de nuevo, y se hizo una nueva IISRESET
.
En el servidor de producción, se utilizó el mismo procedimiento después de la implementación de la función:
- Conjunto de RemoteAdministratorAccessDenied a false
- IISRESET y trató de activar la función - pero no pudo.
El mensaje de error de que llegamos es la siguiente:
Server Error in '/' Application.
--------------------------------------------------------------------------------
Security Exception
Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.
Exception Details: System.Security.SecurityException: Access Denied.
Source Error:
The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL:
1. Add a "Debug=true" directive at the top of the file that generated the error. Example:
<%@ Page Language="C#" Debug="true" %>
or:
2) Add the following section to the configuration file of your application:
<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>
Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode.
Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.
Stack Trace:
[SecurityException: Access Denied.]
Microsoft.SharePoint.Administration.SPPersistedObject.BaseUpdate() +27451643
Microsoft.SharePoint.Administration.SPJobDefinition.Update() +152
Company.IssueTracker.Features.NewIssueTimerJob.NewIssueTimerJobEventReceiver.FeatureActivated(SPFeatureReceiverProperties properties) +837
Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce) +25671814
Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, Boolean fForce) +25676799
Microsoft.SharePoint.SPFeatureCollection.AddInternal(SPFeatureDefinition featdef, Version version, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly) +27776095
Microsoft.SharePoint.SPFeatureCollection.AddInternalWithName(Guid featureId, String featureName, Version version, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly, SPFeatureDefinitionScope featdefScope) +150
Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId, Boolean force, SPFeatureDefinitionScope featdefScope) +83
Microsoft.SharePoint.WebControls.FeatureActivator.ActivateFeature(Guid featid, SPFeatureDefinitionScope featdefScope) +699
Microsoft.SharePoint.WebControls.FeatureActivatorItem.BtnActivateFeature_Click(Object objSender, EventArgs evtargs) +140
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +140
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +11058199
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +11057738
System.Web.UI.Page.ProcessRequest() +91
System.Web.UI.Page.ProcessRequest(HttpContext context) +240
ASP._layouts_managefeatures_aspx.ProcessRequest(HttpContext context) +9
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +599
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +171
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.4963; ASP.NET Version:2.0.50727.4971
Mi entorno:Sharepoint Server 2010
Realated Preguntas en SharePoint 2007:
Solución
Si los blogs que C. vinculados no ayudan, intentaría hacer que la función de aplicación se enfrentara al alcance de la función que probablemente sea lo correcto, ya que está agregando un nuevo timerjob.
Supongo que en la presentación de características, elimina el trabajo nuevamente.En ese caso, tendrá un problema si alguien activa la función en dos redes y luego retírela de uno de ellos.
Otros consejos
¡Creo que tu problema ya está abordado aquí? Receptor de eventos de FeelfurEactivado que da acceso denegado al intentarloAsí establece la propiedad de la aplicación web Y el problema se explica a continuación aquí http://blog.buggrapostaci.com/tag/RemotEadministratorAccessDenied/