Pagina 2 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 37
  1. #11
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    l'evento Application_AuthenticateRequest

    dove devi assegnare il ruolo con questa: System.Web.HttpContext.Current.User=new GenericPrincipal(System.Web.HttpContext.Current.User.Identity, ruoli)

    sta nel global.asax...

  2. #12
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    --
    Ultima modifica di supermac; 20-06-2017 a 10:56
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  3. #13
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    si appunto, perchè è li?
    L'assegnazione del ruolo non potrebbe essere fatta dove c'è il controllo di username e pwd?

    Altra cosa che non capisco: dove viene valorizzato user.identity.name? Cosa contiene?
    Per leggere il ruolo io avrei bisogno di memorizzare piuttosto un user.identity.ID (che dovrebbe essere l'ID del record nella tabella degli utenti), con user.identity.name non riesco a individuare univocamente un record nella mia tabella degli utenti...
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  4. #14
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    Boh qualcosa mi sfugge: ci sono riuscito ma con un workaround poco elegante.

    Con questo quindi autentico l'utente
    FormsAuthentication.RedirectFromLoginPage(userlogg ed, persistente)
    dove persistente è la boolean che stabilisce se il cookie deve essere permanente o meno.
    In userlogged (che ho visto essere il dato che poi diventa user.Identity.name) ho dovuto mettere <IDutente>_<nomeutente> in modo che nel global asax possa estrarlo dalla stringa e verificare il ruolo dell'utente in base al suo ID....
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  5. #15
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    Houston, ho bisogno di aiuto: mi sono accorto che ad ogni cambio pagina entra n volte nel global asax per l'autenticazione.... che diavolo combina???
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  6. #16
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    questa è la mia funzione nel global.asax
    Come dicevo il mio User.Identity.Name contiene anche l'ID del record utente nella relativa tabella formattato in questo modo
    <ID>_<nome dell'utente>

    codice:
        Sub Application_AuthenticateRequest(sender As Object, e As EventArgs)
            If Context.Request.IsAuthenticated Then
                If Not String.IsNullOrEmpty(User.Identity.Name.ToString()) Then
                    Dim ruoli As String = ""
    
                    'se il primo carattere è zero è admin
                    If Left(User.Identity.Name.ToString(), 2) = "0_" Then
                        ruoli = "admin, cliente, agente"
                    Else
                        Dim opid = User.Identity.Name.ToString()
                        opid = Left(opid, InStr(opid, "_", CompareMethod.Text) - 1)
                        ...
                        mi collego al db, leggo il record dell'utente con ID=opid e
                        metto nella stringa "ruoli" tutti i ruoli che l'utente può avere
                        ...
                    End If
    
                    Dim ruolo As String() = Split(ruoli, ",")
                    System.Web.HttpContext.Current.User = New System.Security.Principal.GenericPrincipal(System.Web.HttpContext.Current.User.Identity, ruolo)
    
                End If
            End If
        End Sub
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  7. #17
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    si, deve farlo quell'evento.

    la classe User contiene l'identity principal che gira nell'applicazione, con nome utente e ruolo. Fa parte del contesto

  8. #18
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    si ma perchè lo carica n volte ad ogni load di pagina??
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  9. #19
    Utente di HTML.it L'avatar di supermac
    Registrato dal
    Jun 2001
    Messaggi
    1,857
    Altra cosa: non sono in grado di fare il redirect sulla pagina che voglio, ovvero una volta loggato mi va sempre e indistintamente alla defaulturl definita nel webconfig ma io vorrei che se si tratta di un ruolo admin andasse in un'altra pagina.
    La defaulturl è readonly e non posso modificarla da codice... per mandarlo dove voglio io chejedevodì?
    W la Ferari effetrenavenave!
    il computer è un somaro veloce! (neanche tanto ndr)

  10. #20

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 © 2024 vBulletin Solutions, Inc. All rights reserved.