Accesso negato quando si attiva funzionalità implementando SPFeatureReeCeeCeiver?
-
09-12-2019 - |
Domanda
Abbiamo sviluppato diverse funzionalità che implementano l'interfaccia SPFeatureReeCeiver. Quando si prova nell'ambiente di sviluppo, prima è fallito finché non ho trovato questo script da 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
.
Dopo aver eseguito lo script e resettare IIS, tutto ha funzionato bene sullo sviluppo e abbiamo potuto attivare la funzione (come Admin Admin) in Site Settings > Manage Site Features
con l'ambito impostato sul sito http://mysolution/_layouts/manageFeatures.aspx? Scope= sito . Dopo l'attivazione abbiamo invertito la proprietà remoteadministratoratorAccessenzad a TRUE di nuovo, e ha fatto un nuovo IISRESET
.
Nel server di produzione, abbiamo utilizzato la stessa procedura dopo la distribuzione della funzione:
- .
- Imposta remoteadministratatorAccessenzad to false
- Iisreset e ha provato ad attivare la funzione - ma è fallito.
Il messaggio di errore che abbiamo ottenuto è il seguente:
.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
.My Envirement: SharePoint Server 2010
Domande realizzate in SharePoint 2007:
Soluzione
Se i blog che C. collegati a non aiutano a provare a fare la funzione WebApplication su cui probabilmente è la cosa giusta come stai aggiungendo un nuovo timerjob.
Suppongo che in formato in formato si rimuovi di nuovo il lavoro.In tal caso avrai un problema se qualcuno attiva la funzione in due reti e quindi rimuovi da uno di essi.
Altri suggerimenti
Credo che il tuo problema sia già affrontato qui? Featureatived Event Ricevitore di evento dando accesso negato quando si provaQuindi imposta la proprietà WebApplication e il problema è ulteriormente spiegato qui http://blog.bugrapostaci.com/tag/remoteadministratatorAccessDenied/
Spero che aiuti, C: \ MARIUS