ciao,
VincenzoG ha scritto:
quindi è sconsigliato sviluppare i meccanismi in javascript?
No, assolutamente, del resto anche se avessi un'applicazione "tradizionale" non protetta, chiunque potrebbe comunque accedere all'output prodotto dalle tue pagine aspx ed estrapolare i dati da lì.
Qualsiasi approccio tu scelga, è indispensabile che le richieste che restituiscono dati siano protette da login. Per far questo in un'applicazione MVC, usa l'attributo Authorize come ti dicevo nel post di ieri.
Ora veniamo ai file js: immagino che contengano "solo" la logica di funzionamento dell'applicazione, e non i dati. Se vuoi proteggere anche questi, mettili in una cartella in cui si trovano solo file statici (es. ~/Content) ed usa il web.config alla maniera di asp.net WebForms per proteggere l'intera cartella.
<configuration>
<location path="Content">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
</configuration>
L'istruzione
deny bloccherà l'accesso agli utenti anonimi (ammesso che tu stia usando la FormsAuthentication).
Adesso devi fare in modo che la tua pagina di login prenda da un'altra cartella gli eventuali fogli di stile CSS e i file javascript che le sono strettamente necessari, altrimenti l'utente anonimo che va a loggarsi vedrebbe una pagina incompleta.
VincenzoG ha scritto:
mi viene consentito l'accesso...mentre se scrivo
localhost:xxx/Controller/file.cs
l'accesso viene negato.
Sì, questo è IIS che impedisce l'accesso al file altrimenti il codice sorgente della tua applicazione verrebbe rivelato.
IIS blocca l'accesso anche a molte altre estensioni di file, non solo .cs, ma tu non puoi fare la stessa cosa con l'estensione .js perché neanche gli utenti loggati riuscirebbero più ad accedere al file.
ciao
Modificato da BrightSoul il 23 gennaio 2013 22.00 -