Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258

    stabilire i tipi di accesso a web application

    Ciao a tutti,
    ho appena finito un progetto in Visual Studio 2003 e vorrei gestire i tipi di accesso a questo.
    Per esempio se un utente è di tipo User potrà solo leggere mentre se è amministratore può fare tutto ecc...

    C'è qualche strumento che mi permette di fare ciò?

    Per il momento ho solo trovato il modo di gestire tramite il web.config chi può vedere certe pagine e chi no

    grazie mille
    ste

  2. #2
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    se passi attraverso un metodo di autenticazione Forms ti puo' essere utile questa risposta di djciko in questo 3D http://forum.html.it/forum/newreply....hreadid=839198
    una volta che sei in grado di riconoscere l'utente puoi decidere se particolari operazioni devono passare solo con quell'utente.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    purtroppo invece utilizzo l'autentificazione di windows ...
    ste

  4. #4

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    ok grazie però una volta che ho stabilito che tipo di utente è per dirgli cosa può fare o non fare come glielo dico?
    Prende in automatico delle impostazioni di windows?

    grazie
    ste

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    258
    Un'altra cosa ho provato nel web.config a negare l'accesso a tutti gli users scrivendo
    <deny roles="Users"/>
    e permettendo l'accesso solo ad un utente
    Invece non funziona lascia entrate tutti
    ste

  7. #7
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    In asp.net è prevista l'autenticazione basata sui ruoli....in pratica ti basta sfruttare la routine Application_AuthenticateRequest (che viene richiamata appena un utente richiede la prima pagina) del Global.asax.

    Per assegnare un utente (Context.User) ad un insieme di ruoli (in teoria) potrai scrivere (nella sub sopracitata):

    codice:
     
    Dim arrRuoli as String() = {"utente","amministratore"}
    Context.User = New GenericPrincipal(Context.User.Identity, arrRuoli)
    o, nella pratica, prendendoli da un semplice file XML:

    <roles>
    <user
    name="utente1"
    roles="utente" />
    <user
    name="utente2"
    roles="utente,amministratore" />
    </roles>

    Per esempio, se si connette l'utente2, che deve avere permessi sia da utente semplice sia da amministratore, con una apposita ricerca nel file XML del suo nome potrai assegnargli i ruoli precedentemente stabiliti (non sto a dirti come, ma dovrebbe essere in pratica una ricerca XPath sul file XML) .. cioè "utente" ed "amministratore".

    Per permettere o meno poi determinate operazioni, nelle comuni pagine aspx potrai usare il metodo statico IsInRole della classe User:

    codice:
     
    If User.IsInRole("amministratore")
      response.write("sei un admin")
    Else
      response.write("sei un utente di poco conto")
    End if
    tutto questo credo pero' che ti obblighi a passare sull'autenticazione Forms..

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Rileggendo e provando quanto ho scritto ieri, mi sa che ci vuole una piccola aggiunta nella routine del Global.asax :

    semplicemente, invece di :

    codice:
     
    Dim arrRuoli as String() = {"utente","amministratore"}
    Context.User = New GenericPrincipal(Context.User.Identity, arrRuoli)
    ci vuole un controllo per verificare se l'utente è autenticato o meno...

    codice:
     
    If Context.Request.IsAuthenticated Then
      Dim arrRuoli as String() = {"utente","amministratore"}
      Context.User = New GenericPrincipal(Context.User.Identity, arrRuoli)		
    End if

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.