129 messaggi dal 09 febbraio 2017
Buongiorno a tutti, stavo ragionando sul seguente scenario :

Utenti registrati si loggano tramite pagina giá creata nel progetto di default (Login.aspx), via SQL membership provider .
Ho impostato vari Themes , ognuno con un colore dominante diciamo.
Vorrei che in base al utente che si logga , o meglio in base al Role (gruppo di appartenenza), visualizzasse un certo Themes.
Quindi ho creato tre home page in cui poi l' utente fará varie operazioni, ma come gestisco questa cosa ?
Come dico che dopo il login, in base al Role, deve andare in una pagina invece che un altra ? (Sempre che questo approccio sia corretto) .
Ho spiegato lo scenario, cosi se ci sono altre idee posso magari ragionarla diversamente.

Grazie in anticipo

Emanuel Pirovano
Web Developer
10.246 messaggi dal 09 febbraio 2002
Contributi
Ciao Emanuel,
potresti crearti una sitemap, che è un documento XML in cui censisci i percorsi a tutte le pagine del tuo sito. Ciascun percorso può essere associato ad uno o più ruoli dell'utente.
Se l'utente cerca di accedere ad una pagina ma non ne ha il ruolo, allora gli verrà impedito.

Leggi qui:
https://msdn.microsoft.com/en-us/library/ms178428.aspx

Proprio come la membership, anche la sitemap hai le sue API che ti permetteranno di esaminare l'albero visibile dall'utente corrente, scremato in base ai suoi ruoli. Inizia col vedere l'oggetto SiteMap.
https://msdn.microsoft.com/en-us/library/system.web.sitemap.aspx

ciao,
Moreno

Enjoy learning and just keep making
129 messaggi dal 09 febbraio 2017
Ciao Moreno,
grazie per la risposta, ora guardo i link e provo a implementare come dici tu.
Nel frattempo ho trovato e testato la mia soluzione, che mi é venuta in mente dopo.

-Creo utenti e role
-
        ' Load
        Label2.Text = User.Identity.Name.Split("\"c)(0)

        ' In Role
        Label3.Text = User.IsInRole("Utente_Blue")
        Label4.Text = User.IsInRole("Utente_Orange")
        Label5.Text = User.IsInRole("Utente_Green")


Gioco con la proprietá in role che mi stampa se l' utente loggato é di un ruolo (true) o meno



        If Label3.Text = True Then
            Response.Redirect("DefaultBlue.aspx")
        End If

        If Label4.Text = True Then
            Response.Redirect("DefaultOrange.aspx")
        End If

        If Label5.Text = True Then
            Response.Redirect("DefaultGreen.aspx")
        End If



E questo invece al click di un pulsante ("Collegati alla tua pagina"), ma si potrebbe fare anche al Load , quindi dal login dritto alla pagina del utente, in base al ruolo.

E anche cosi funziona.


Emanuel

Emanuel Pirovano
Web Developer

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.