20 messaggi dal 24 agosto 2011
Ciao ragazzi, ho pubblicato un "semplice" sito web ASP.NET MVC su Aruba (niente ASP.NET Identity, o Entity Framework e niente database per ora).

Navigando al link miosito.it ottengo l'eccezione "Security Exception":

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.

Ho aperto un ticket ad Aruba che mi ha praticamente risposto immediatamente, dicendomi che possono spostare il sito in full trust.
Ma il punto è perchè la mia applicazione necessita di un full trust ? è veramente un "semplice" sito web, C'è un modo per capirne il motivo?

PS: inutile dire che in locale tutto funziona normalmente.


Grazie a tutti
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
ho visto il tuo post su StackOverflow ma non sono proprio sicuro di quale sia il componente che richiede il Full Trust. Penso che sia il pacchetto Microsoft.CodeDom.Providers.DotNetCompilerPlatform che sfrutta il compilatore Roslyn.
Probabilmente tornando ad usare C# 5.0 non avresti il problema.

Qui però la questione non riguarda Roslyn o i pacchetti che richiedono il Full Trust, ma sono gli hosting provider che si ostinano a voler ospitare siti in medium trust.
Leggi qui sull'argomento:

http://forum.aspitalia.com/forum/post/404977/Finito-Progetto-Web-MVC-Visual-Studio-Express-2013-Metterlo.aspx#405004

Ti potrebbero chiedere di firmare lettere di assunzione di responsabilità per passare al Full Trust. Se per te è ok, non c'è problema ma sappi che un hosting provider può ottenere un efficace isolamento dei vari client anche in regime di Full Trust in hosting condiviso.
http://www.iis.net/learn/application-frameworks/scenario-build-an-aspnet-website-on-iis/planning-step-4-plan-application-security#41

ciao,
Moreno
Modificato da BrightSoul il 27 giugno 2016 19.59 -

Enjoy learning and just keep making
20 messaggi dal 24 agosto 2011
Ciao Moreno, infatti è proprio quello che mi hanno proposto. Dici di chiuderla qui è senza farsi troppe domande inviargli la documentazione e affidarsi alla loro "competenza"?
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,


Ciao Moreno, infatti è proprio quello che mi hanno proposto. Dici di chiuderla qui è senza farsi troppe domande inviargli la documentazione e affidarsi alla loro "competenza"?


Puoi anche affidarti a loro ma devi comprendere bene quello che stai firmando.
Se per esempio qualche utente, o via FTP o sfruttando una falla dell'applicazione, riuscisse a caricare del codice malevolo nel tuo spazio hosting e riuscisse a rubare dati di altri clienti, che succederebbe? L'accordo ti obbliga a pagare un risarcimento?

Quindi leggi bene la documentazione e pensa alle conseguenze prima di firmarla. Ci tengo a chiarire che non sono di parte: io non so cosa dice l'accordo e non mi è mai capitato di leggerlo.
Io non firmerei un accordo in cui si scarica su di me le responsabilità per aver causato danni ad altri clienti, anche involontariamente.

ciao,
Moreno
Modificato da BrightSoul il 28 giugno 2016 20.55 -

Enjoy learning and just keep making
20 messaggi dal 24 agosto 2011
Il documento da firmare è abbastanza semplice e generico, mentre il contratto dell'hosting non l'ho letto in realtà.
Comunque per il momento ho disinstallato i pacchetti per le nuove funzionalità del framework (come roslyn), ho evitato l'utilizzo di log4net e il tutto ha funzionato anche in medium trust.

Grazie
9 messaggi dal 18 gennaio 2017
Buongiorno a tutti,
sono sul punto di passare al fulltrust pure io.
Piu' che altro sono mooolto inesperto. Sono al mio primo progetto MVC, in locale funziona tutto, in rete no. vi allego il documento di aruba


Modulo di conferma attivazione della modalità Full Trust   
             


Il sottoscritto,  XXX, intestatario della Login XXX, e titolare del dominio XXX per il quale chiedo l’attivazione della modalità FULL TRUST, con la sottoscrizione del presente modulo  dichiaro di prendere atto ed accettare quanto di seguito indicato:

la modalità FULL TRUST del .Net Framework è dedicata esclusivamente a clienti che hanno bisogno di far girare applicazioni che richiedono espressamente questo tipo di configurazione lato server.

Questa modalità è sconsigliata da Microsoft in ambienti di shared hosting perché riduce il livello di separazione fra applicazioni o siti che girano su di uno stesso server: di fatto si rinuncia ad avere il massimo in termini di sicurezza per ottenere una compatibilità più estesa verso quelle applicazioni che non riescono a funzionare nella modalità standard "medium trust" adottata da Aruba e consigliata da Microsoft.

Per una maggiore conoscenza dei dettagli si invita alla lettura del documento pubblicato da Microsoft al link http://technet.microsoft.com/en-us/library/dd163542.aspx.    

Invitiamo comunque a considerare l'uso della modalità full trust come una soluzione temporanea per il tempo necessario ad adeguare la compatibilità del proprio sito o applicazione ad un server in configurazione standard.

Con la conferma di attivazione della modalità FULL TRUST, il Cliente dichiara di essere consapevole che quest'ultima :

a)  presenta un grado di rischio maggiore relativamente al funzionamento del servizio di Hosting sia in termini di prestazioni che di sicurezza. 
b)  comporta l’allocazione o lo spostamento dello spazio web su uno dei server dedicati a questa modalità. Al momento dello spostamento si potrà verificare un breve disservizio ed irraggiungibilità dello spazio web
c)  dichiara che l'operazione verrà eseguita esclusivamente a suo rischio e pericolo ed accetta, ora per allora, di manlevare Aruba dagli eventuali problemi di funzionamento o compatibilità che questo tipo di configurazione può comportare.

Il cliente avrà facoltà di richiedere un'eventuale riconfigurazione alla modalità standard  (medium trust) in caso di necessità.



Data___________________



Firma di accettazione intestatario_____________________________________



           Allego alla presente copia del documento di identità.





prima di accettare, volevo sapere se potevo allegare qui il mio web.config e discutere sul perchè non funziona
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Giovanni e benvenuto,
proviamoci, posta pure il tuo web.config. Ovviamente oscura eventuali password e stringhe di connessione che puoi aver messo lì dentro. Hai già provato ad attuare le modifiche discusse in questo thread?

Considera anche che il problema può anche verificarsi a causa di un pacchetto NuGet che stai usando e che richiede invece il Full Trust.


la modalità standard "medium trust" adottata da Aruba e consigliata da Microsoft.

Questa affermazione non corrisponde completamente al vero. La modalità "medium trust" non è consigliata da Microsoft. Ecco un articolo del 2012 (5 anni fa. Cinque.)
https://support.microsoft.com/en-us/kb/2698981

In quell'articolo si legge:

ASP.NET Partial Trust does not guarantee application isolation.
[...]
We are updating our guidance about this to reflect that running an ASP.NET page framework application in partial trust does not guarantee complete isolation from other applications that are running in the same process or on the same computer.
[...]
Configuring ASP.NET page framework applications to run in separate low-privileged processes (by using individual application pools) is the recommended procedure.



ciao,
Moreno
Modificato da BrightSoul il 18 gennaio 2017 14.06 -

Enjoy learning and just keep making
9 messaggi dal 18 gennaio 2017
Buona sera a tutti,

grazie Moreno! ho letto il link che mi hai postato, ci sarebbe da aprire un ticket aruba solo per questo. Si utilizzo i pacchetti nuget, e diversamente non saprei come fare. Ho imparato da una guida online e da stackoverflow tutte le cose che so quindi non mi ritengo per niente preparato in materia, percio' grazie mille veramente :)

Ecco il mio web.config. prima di conoscere questo sito, avevo intuito che tutto il problema gira intorno a questo benedetto file commentando frammenti di codice con il tag html <!-- commento -->
Attualmente il sito mostra la home ma non riesco a far funzionare niente altro (controller, db, etc..)


Esiste un modo per ricevere una notifica ad ogni risposta su questo post?




<?xml version="1.0" encoding="utf-8"?>
<!--
  Per altre informazioni sulla configurazione dell'applicazione ASP.NET, visitare
  http://go.microsoft.com/fwlink/?LinkId=301880
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnable  " value="true" />
  </appSettings>


<!--
<location allowOverride="false">
 <system.web>
   <securityPolicy>
     <trustLevel name="Full" policyFile="internal" />
     <trustLevel name="High" policyFile="web_hightrust.config" />
     <trustLevel name="Medium" policyFile="web_mediumtrust.config" />
     <trustLevel name="Low"  policyFile="web_lowtrust.config" />
     <trustLevel name="Minimal" policyFile="web_minimaltrust.config" />  
   </securityPolicy>
   <trust level="Medium" originUrl="" />



      

      <compilation debug="true" targetFramework="4.5.2" />
      <httpRuntime targetFramework="4.5.2" />
      <authentication mode="Forms">
        <forms loginUrl="D:\inetpub\webs\giovannischillaciit\Views\Login\Index" timeout="60" defaultUrl="D:\inetpub\webs\giovannischillaciit\Views\Home\Index"></forms>
      </authentication>

      <customErrors mode="Off">
      </customErrors>



      <httpModules>
        <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
      </httpModules>



    </system.web>
  </location>
 
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>-->
  
  <!--
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
    </compilers>
  </system.codedom>

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="mssqllocaldb" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework> -->
  
  <!--
  <connectionStrings>
    connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=(LocalDB)\MSSQLLocalDB;attachdbfilename=|DataDirectory|\Database1.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
  </connectionStrings>  --> 

  
  
  <!-- PER L ' EMAIL !!!!!!!!!!!!!!!!!!!!!!-->

<system.net>
   <mailSettings>
    <smtp from="you@outlook.com">
      <network host="smtp-mail.outlook.com" 
               port="587" 
               userName="XXX"
               password="XXX" 
               enableSsl="true" />
    </smtp>
  </mailSettings>

</system.net>
  </configuration>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.