Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 24 su 24
  1. #21
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    certo, siamo sempre aperti

    comunque per il ruolo basta assegnarlo al GenericPrincipal, che è una classe che memorizza tutte le caratteristiche dell'utente. Io FACEVO cosi'.


    Nel file Global.asax.vb:
    codice:
    Protected Sub Application_AuthenticateRequest(sender As Object, e As EventArgs)
        If Context.Request.IsAuthenticated Then
            Dim ruoliDB As String = String.Empty
            Dim myDs As New DataSet()
            
            ' Cerca l'utente collegato nel DB per recuperare il ruolo  
            ' "NomeUtente" lo recuperi dal Context
            myDs = RicercaUtenza(NomeUtente) 
                   
            ' "ruolo" è la colonna della tabella
            ruoliDB = myDs.Tables(0).Rows(0)("ruolo").ToString().Trim() 
           
            Dim ruoli As String() = ruoliDB.Split(","C)
    
            ' Assegna il ruolo letto all'utente corrente
            System.Web.HttpContext.Current.User = New GenericPrincipal(System.Web.HttpContext.Current.User.Identity, ruoli)
        End If
    End Sub


    e poi in tutte le pagine puoi controllare in questo modo il ruolo:
    codice:
        If User.IsInRole("AMMINISTRATORE") Then
            ' fai vedere il menu dell'amministratore
        End If


    credo che funzioni ancora, senza usare il rolemanager. Prova.
    Ultima modifica di djciko; 15-04-2014 a 10:51

  2. #22
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Ciao,
    ho provato l'esempio che mi ha scritto e funziona!

    L'unico problema è che non so come passare l'utente al global.asax
    ho provato nella pagina di login a salvarmi la session

    codice:
    Session("user") = utente
    e nel globa ho scritto
    codice:
     utente=Session("user")
    ma quando eseguo il login va in errore in global.asax la riga utente=session("user")
    "Stato della sessione non disponibile in questo contesto."

    Dove sbaglio?
    Oltre alla session cosa è possibile utilizzare?

    ciaoo

  3. #23
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    scusami, ricordo di questo problema. se non funziona questo:

    GLOBAL.ASAX:VB
    codice:
    If Context.Request.IsAuthenticated Then
      Utente = Context.User.Identity.Name
    
      '.... cerchi il ruolo nel db per questo utente etc
    End If

    domani ti dico di preciso come feci io
    Ultima modifica di djciko; 11-04-2014 a 11:13

  4. #24
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    473
    Funzionaaa!!!

    grazie mille!!!!

    Ciao

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.