2013-07-16 17 views
5

Ho un sito Web ASP.NET MVC che utilizza FluentSecurity. Come un sito Web di Azure funziona perfettamente. Ho bisogno di renderlo un WebRole. Ho aggiunto un progetto WebRole ma WebRole non riesce all'avvio con un generico "Impossibile visualizzare la pagina perché si è verificato un errore interno del server."FluentSecurity fa fallire Azure WebRole

ho un DenyAnonymousAccessPolicyViolationHandler e RequireRolePolicyViolationHandler attuazione IPolicyViolationHandler e l'intero setup FluentSecurity secondo http://blog.mariusschulz.com/setting-up-fluentsecurity-to-use-ninject-for-dependency-resolution.

Ho scoperto che quando elimino entrambe le classi che implementano IPolicyViolationHandler allora WebRole si avvia correttamente. Ho creato un progetto di esempio che dimostra questo problema, lo puoi trovare su https://dl.dropboxusercontent.com/u/73642/MvcApplication1.zip.

Quindi, come posso far funzionare FluentSecurity con WebRole di Azure comprese le classi delle norme?

+1

Hai mai trovato una soluzione a questo? Sto avendo lo stesso identico problema con il mio DenyAnonymousAccessPolicyViolationHandler. – Faraday

+0

Non l'ho fatto. Ho segnalato il bug su Github e non ho ricevuto risposta –

risposta

0

Abbiamo avuto lo stesso problema; lavorando su un sito Web, ma non in un ruolo Web.

Era perché Fluent Security fa riferimento a MVC3, non a MVC4. I commenti a questo bug su Github vanno in ulteriori dettagli https://github.com/kristofferahl/FluentSecurity/pull/39.

è possibile:

1) Prendere una copia locale del FluentSecurity.csproj e l'aggiornamento è System.Web.Mvc riferimento a MVC 4, poi includerlo nella soluzione (questo è quello che abbiamo fatto).

2) O, come per il link bug Github sopra "... risolvere questo problema utilizzando il montaggio reindirizzare nel web.config" come questo

<runtime> 
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <dependentAssembly> 
    <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
    <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
    </dependentAssembly> 
    <dependentAssembly> 
    <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> 
    <bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
    </dependentAssembly> 
</runtime> 
Problemi correlati