Domanda

Sto cercando di leggere il web.config per una web app dal code-behind DLL di una pagina aspx. Tuttavia, tutto quello che sto tornando al browser è 403 Forbidden .

Per prima cosa ho stava provando questa distribuzione la DLL nella cartella bin del web app. Per cominciare, ho ottenuto un'eccezione FileIOPermission. Sono stato in grado di ottenere intorno a questo con l'aggiunta di un attributo FileIOPermission alla classe nel aspx.cs. Tuttavia, con quello risolto, tutto quello che ottiene è ora 403 Forbidden. Sto testando questo mentre si è connessi come l'amministratore del sito.

Il codice che sto utilizzando è:

SPWeb spWeb = SPContext.Current.Web;
SPWebApplication webApp = spWeb.Site.WebApplication;
Configuration config = WebConfigurationManager.OpenWebConfiguration("/", webApp.Name);

Sto usando WSPBuilder e questo crea le necessarie politiche di protezione dall'accesso di codice per il mio DLL per quanto posso vedere:

<NamedPermissionSets>
    ...
    <PermissionSet class="NamedPermissionSet" version="1" Description="WSPBuilder generated permissionSet" Name="mysolution.wsp-575f9c91-53d5-4a70-825b-b9a025c24427-1">
      ...
      <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Unrestricted="true" />
      ...
    </PermissionSet>
    ...
</NamedPermissionSets>

Si tratta di un file fiducia personalizzato in 12 / CONFIG, che fa riferimento web.config dell'applicazione Web.

Ho provato anche la distribuzione della DLL nella GAC, invece di bin, ma esattamente lo stesso errore - 403 Forbidden. Mi chiedo cosa mi manca?

È stato utile?

Soluzione

È aggiunto l'eccezione FileIOPermission ma lo si aggiunge la regola dei criteri CAS?

Date un'occhiata a questo: http://www.bluedoglimited.com/SharePointThoughts/ViewPost.aspx?ID=249

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top