Login in vb (FormsAuthentication)

martedì 09 settembre 2008 - 11.24

Anonimo Profilo | Senior Member

Salve, sto provando ad fare un login con una query semplice, senza usare le cose di visual studio.

Mi dite perchè se provo ad scrivere email e password non da nessun errore ma non fa nulla....

in poche parole cosa devo configurare?.

vi posto i codici:
login.aspx
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra



login.aspx.vb
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


ed il web.config:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


il db è questo:

[CODE] CREATE TABLE users ( UserId INT NOT NULL AUTO_INCREMENT, user_firstname VARCHAR(30), user_lastname VARCHAR(30), user_sex varchar(10), user_birthMonth varchar(20), user_birthday varchar(20), user_birthYear varchar(20), user_location varchar(50), user_nick varchar(50), user_email varchar(255), user_password varchar(50), user_ruolo varchar(20), user_livello enum('1','2','3') default '1', user_info text, user_hobby text, user_signature text, user_films text, user_music text, user_sport text, user_friends text, user_hate text, user_title varchar(50), user_dir varchar(255), user_ip varchar(255), user_keysign varchar(255), user_banned enum('Y','N') default 'N', user_stato enum('Y','N') default 'N', user_datareg varchar(50), user_signed TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (UserId)); [/CODE]

Mi sapete dire come fare?,
grazie.

voglio usare Mysql.

rossimarko Profilo | Guru

Ciao,

il problema è dovuto al fatto che nel web.config accetti solo gli utenti associati ad un determinato ruolo, però questo ruolo non viene mai impostato da codice. Se cambi il web.config e metti
<authorization> <deny users="?" /> <allow users="*" /> </authorization>
dovresti accedere correttamente alla pagina.

Per risolvere il problema devi inserire nella funzione Application_AuthenticateRequest del global.asax il codice che imposta i ruoli:

GenericIdentity identita=new GenericIdentity(nome); Context.User= new GenericPrincipal(identita,new string[]{"Ruolo");

In alternativa puoi basarti sui nuovi provider di asp.net utilizzando però l'autenticazione custom. Su dotnethell è stato pubblicato un articolo proprio su questo argomento: http://www.dotnethell.it/articles/Membership-Role-Profile-Provider.aspx

-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Anonimo Profilo | Senior Member

funge!!.

avevo scritto male il codice. perchè era un codice in c# e poi lo avevo convertito io per vb.net,
ma nella conversione , ho fatto un pò di casino... allora sono andato nei convertitori online ed me la convertito giusto:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


grazie, non ho visto il tuo articolo , perchè non mi apre la soluzione del visual studio (Perchè io ho 2005 Express) e non vorrei cambiare perchè il mio hosting ad ancoara la 2.0 net.

grazie,
saluti.

ora provo ad andare avanti con il lavoro.

ciao.

Anonimo Profilo | Senior Member

scusa, ma funge si e no.

il codice orginale funzionante con il suo linguaggio e il suo db è questo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


Mi poi dare una mano, senza star lì con quell'articolo che usa mssql...
grazie.

rossimarko Profilo | Guru

cosa significa che funge si e no? qual'è l'anomalia?
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko

Anonimo Profilo | Senior Member

che alcune volte , mi si accede alla pagina defualt.aspx, ed alcune volte mi rimanda lì al login.aspx, anche se inserisco utente e password giusti.

Non è che devo configurare qualcosa io nel web.config ed poi come si fa fare un portale come dotnethell?.

non voglio usare quelli pre-fatti.


grazie.

rossimarko Profilo | Guru

Prova a verificare in debug se quando inserisci i dati corretti richiama comunque il metodo RedirectFromLoginPage. Valuta anche l'url della pagina quando viene richiamata. Di solito il meccanismo è il seguente: se accedi ad una pagina che necessita di autenticazione e non sei loggato effettua il redirect alla pagina di login specificata nel web.config e come parametro nel querystring inserisce la pagina richiamata (esempio: Login.aspx?returnurl=Default.aspx). Questo parametro viene utilizzato dal metodo RedirectFromLoginPage per ritornare alla pagina richiesta. Verifica che nei casi in cui il tutto non funziona questo parametro sia valorizzato correttamente
-----------------------------------------
Rossi Marco
http://blogs.dotnethell.it/rossimarko
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5