29 messaggi dal 26 luglio 2005
Hello Tribù!

Mi sono un pò affacciato alla gestione degli utenti attraverso la classe Membership.
Ho creato un'interfaccia in vecchio stile (senza usare il controllo UserWizard che a dir la verità non mi piaceva molto) e cominciando ad usare le proprietà e i metodi di Membership sono nate le mie perplessità:

1) Perchè non posso reperire la Risposta alla domanda di sicurezza per la password mentre posso impostarla in accoppiata alla domanda relativa grazie al metodo specifico?

2) Perchè non posso, allo stesso modo, reperire la password di un utente?

3) Perchè non poter inserire l'utente semplicemente con un metodo MioUtente.Insert() ?

Ho un pò l'idea che alcune cose siano state fatte in maniera frettolosa.. mah..

Memole.

---------------
Enjoy your mind
Per creare un utente c'è Membership.CreateUser quindi puoi farlo. Per quanto riguarda le altre due domande, le classi sono state fatte in modo da essere sicure in modo da non poter essere usate in modo improprio a causa di un errore che hai fatto in una pagina aspx. Quindi qualsiasi operazione richiede delle informazioni minime per essere sicuro che tu possa fare ciò.
Esempio, per resettare la password, o sai la password vecchia o sai la risposta per ottenerla.
Capito cosa intendo?

Ciao

Il mio blog
Homepage
29 messaggi dal 26 luglio 2005
Si, ne capisco la motivazione di sicurezza.

Mettiamo l'ipotesi di una iterfaccia per la gestione degli utenti.

Ho creato N utenti memorizzati attraverso il provider che si basa su un DB Sqlserver.

Ho la mia griglia con il mio bel dettaglio.
premo sulla riga della griglia, intercetto il nome utente, lo carico in un oggetto MembershipUser con il metodo Membership.GetUser(NomeUtente) e accedendo alle proprietà dell'oggetto carico tutte le mie textbox.

Da notare che già qui non mi è permesso di caricare ne password ne Domanda di sicurezza.

L'utente modifica qualcosa sul dettaglio dell'utente e poi decide di salvare le modifiche. Preme quindi il classico bottone "Salva".

I punti "deboli" o "poco omogenei" che noto sono:
1) Non posso andare in update diretto come per l'inserimento (per il quale passo tutti i valori come parametri alla funzione). Sono costretto a travasare nuovamente i valori sul mio oggetto MembershipUser locale per poi richiamare il metodo Membership.UpdateUser(MioOggettoMembershipUser).

2) Ovviamente non posso cambiare il nome utente. Posso solo crearne un'altro.

3) Non posso a priori sapere se l'utente ha inserito una nuova password sul mio dettaglio, quindi devo pensare di effettuare il cambio password con una procedura diversa.

4) Non posso Cambiare la risposta alla domanda di sicurezza se non conosco la password dell'utente.

Sono quindi costretto a seguire un iter un pò contorto a mio avviso.
Una volta inserita la pagina di gestione degli utenti all'interno di una cartella con l'accesso esclusivo degli administrator mi sembra già sufficiente come livello di sicurezza.
C'è un pò troppo poca libertà forse nel giro dell'oca che Microsoft ci ha disegnato.

Bisogna adeguarsi..

Memole.

---------------
Enjoy your mind

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.