16 messaggi dal 16 gennaio 2007
abbiamo creato gli utenti con visual studio e sono divisi in 2
categorie:
amministratore
utente registrato

nel buttonclick vorremmo fare il check dei ruoli e di conseguenza l'indirizzamento alle pagine ...



come possiamo fare???
ammesso che tu stia usando il sistema integrato di asp.net (e HttpModule collegati) è sufficente usare il metodo IsInRole dell'oggetto IPrincipal esposto come proprietà User dalla classe page.

in parole semplici

Page.User.IsInRole("ruolo")

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
16 messaggi dal 16 gennaio 2007
sto usando asp.net 2.0 con c#.
ma dove devo inserire questo script?
non ho capito bene...potresti essere più chiaro?
ti ringrazio
lo puoi inserire nell'eventhandler dell click del bottone .


ad esempio:

public GestisciClick(object sender, EventArgs e)
{
if(this.User.IsInRole("ruolo"))
{
//inserire il codice
}
}


spero di non aver commesso errori di ortografia.

ciao marco
Modificato da nostromo il 26 gennaio 2007 19.35 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
16 messaggi dal 16 gennaio 2007
ora provo...
ma per dire ke deve andare in una determinata pagina devo scrivere response.redirect(nome pagina)??
esatto, se ci sono problemi ci siamo quà

buon fine settimana

ciao marco
Modificato da nostromo il 26 gennaio 2007 20.44 -

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
426 messaggi dal 17 aprile 2006
ahem ... se stai usando il WebControl Login di AspNet, cioè quello preconfezionato di vs2005 il Page.User.IsInRole dubito che funzioni nell'evento del bottone perchè chiaramente l'utente non è autenticato ancora ma lo deve ancora essere.

dunque sempre che stia usando il controllo Login di asp.net per dare pagine differenti agli utenti di ruolo diverso reindirizza comunque tutti in una pagina intermedia (e non con il response.redirect ma mettendo la proprietà DestinationPageUrl="Pagina.aspx") es Default.aspx.

Poi da li decidi dove mandarli in base al ruolo mettendo nel page.load
if(Page.User.IsInRole("ruolo"))
 Response.Redirect("Default2.aspx");
else if (Page.User.IsInRole("ruolo2"))
 Response.Redirect("Default3.aspx");


in questa maniera se un utente prova ad entrare nel sito da un bookmark che si è salvato in una visita precedente e che porta in una pagina particolare il sistema lo reindirizza sulla pagina di login e poi lo porta direttamente nella pagina richiesta e non nella pagina intermedia.

2 considerazioni.
1) metti sotto autenticazione la pagina intermedia
2) occhio a non chiamare la pagina di login Login.aspx o quando farai il deploy magari compilato si potrebbe creare un errore perche la classe della pagina sarebbe Login ma Login è anche la classe dell'oggetto login e farebbero a botte.

ciao

Ciao Alessandro

dubito che funzioni nell'evento del bottone


e perche non dovrebbe funzionare? il metodo IsInRole funzionerà solo restituirà false.

non è per forza necessario usare il WebContrlol Login per essere autenticati.


ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.