Gdje skladistiti podatke o sifri?

Gdje skladistiti podatke o sifri?

offline
  • Pridružio: 18 Jul 2005
  • Poruke: 312

Zanima me nesto ako napravim da se korisnik loguje na prvoj stranici i kasnije otvori drugu, druga strana provjeri da li mu je user name i pass tacni tako da ne moze da joj pristupi osim ako se ne uloguje.

Npr str1.aspx je login strana
a str2.aspx je neka strana kojoj se ne bi smjelo pristupiti osim ako se ne prijavi.

Pitanje je: da li da podatke o sifri i imenu cuvam u session objektu ili application posto cookie pretpostavljam ne dolazi u obzir. Kako da prosledim podatke o sifri i imenu drugoj stranici?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Kada pravis neku takvu aplikaciju, najbolje resenje jeste da ti takvi podaci (username/password...) budu smesteni u bazi podataka.
Password bi bilo dobro da je Hashovan kako niko ne bi mogao da vidi koji je pravi password.
Session i Application objekti ne sluze za te svrhe. Ne za cuvanje passworda.
Radi cega bi cuvao password u Session-u? On istice posle 20min (default).
U Session i Application objekte mozes da smestis ID, Username, Statu korisnika ili tako neke informacije manje znacajne za 'upad' u sam nalog.
Nikako sifru.
Ne znam zbog cega bi stavljao password u Session ili Application objekte?
Ako mislis za autologin, onda upravo treba da koristis cookies.

Prosledjivanje podataka unetih u formu se prosledjuju preko dve metode:
- Post
- Get

Post metoda 'nevidljivo' salje podatke - nevidljivo korisniku i podaci se prihvataju preko Request.Form["ImeTextBoxaIliStaVec"];

Get metoda salje podatke preko address bara browsera (vidljivo) i podaci se prihvataju preko Request.QueryString["ImeTextBoxaIliStaVec"];

Na toj drugoj stranici stavis ovaj code:

if (Session["Username"] == null) Response.Write("Nemate pravo da pristupite stranici!");

Naravno, pre ovoga, moras da kreiras Session objekat pri logovanju korisnika i iz baze mu uzmes username (npr, ali ne i sifru) koji ces posle da stavis u Session.

Pri logovanju
Session["Username"] = dataReader["Username"].ToString();

U dataReader-u se nalazi rezultat SQL upita i svi atributi tabele u bazi koje si naveo u upitu.

Nadam se da nisam zakomplikovao jednostavnu stvar Smile.



offline
  • Pridružio: 18 Jul 2005
  • Poruke: 312

Ma nisi
znam vec to sve za bazu ali imam jedan problem sa prokletim racunarom. Uspio sam da namjestim MySQL da radi kako hocu i da iz obicne win aplikacije (forme) ucitam podatke (ne ide mi upis ne znam zasto) ali to ne mogu da uradim sa ASP.NET stranicom jer mi izgleda IIS i MySQL ne "saradjuju" kako treba. Takodje ako pokrenem neki CMS (pisan u php-u) na lokalnom racunaru on mi kaze da mi nedostaje MySQL podrska.

Napominjem da imam instaliran i Apach pa kada programiram asp.net gasim apaca i palim iis.

Znaci sifru i username ucitam iz baze, u sesiji cuvam samo podatak da li je korisnik ulogovan i tako provjeravam na drugoj str

jesam li ukapirao?

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Da. U Session objektu drzis neke druge podatke. One koji ce ti trebati skoro stalno.
UserID, Username, Status i slicno.

A da li korisnik moze da ide na drugu stranicu, proveravas priveravanjem da li je Session objekat prazan ili ne.

Ne razumem kako ne mozes da upises u bazu?
INSERT upit nece da ubaci zapis u bazu? Jer prijavi neku gresku?
Ja sam pre korisio MySQL bas sa ASP.NETom (IIS) i nikakvih problema nisam imao.
Daj code koji pravim problem (ASP.NET) pa cemo da vidimo sta ne valja?
Idi na www.connectionstrings.com. Tamo imas ConnectionStringove za razne baze sa kojim mozes da se povezes preko ASPa ili ASP.NETa.

Nemam sada ni jedan primer priruci koji koristi MySQL bazu. Cak mislim da ne moras nista da namestas (u MySQLu) da bi radilo.
MSSQL je malo restriktivniji po tom pitanju (trebas izvrsiti neki sql upit kojim dozvoljavas da odredjeni korisik 'cacka' bazu).

Sto se tice Apache i IIS, nisam ih imao oba (u isto vreme) instalirana na racunaru. Imao sam PHP koji se 'uglavi' u IIS, ali to nije pravi Apache.
Ako si stavio Apache na drugi port (da nije 80) nema potrebe da ih naizmenicno gasis.

Postavi code pa da vidimo gde je greska.

offline
  • Pridružio: 18 Jul 2005
  • Poruke: 312

Nemam sad na ovom kompu primjer ali cu ti napisati otprilike

MySQLCommand.commandtext="SELECT * FROM adresar"

dim DAdapter as new mysqldataadapter(MySQLCommand.commandtext,ConStr)
dim DS as new dataset

veza.open
dadapter.fill (ds,"adresar")
e ovo otprilike gore je radilo, Connection string je u redu jer uspjevam da se povezem i da ucitam podatke npr

response.write ds.getxml

e sada ako hocu da te podatke ucitam u neka polja textbox kako to da uradim? Kako da ih prikazzem u DataGridu? Nesto mi ne ide od ruke

A ako zelim da ubacim podatke pretpostavljam da bih trebao da izmjenim u MySQLCommand njegov CommandText u "INSERT into adresar ("id","ime","prezime") values ("1", "simo","simic")
bar tako radim u MySQL konzoli

E kako sad dalje?

Ko je trenutno na forumu
 

Ukupno su 826 korisnika na forumu :: 45 registrovanih, 7 sakrivenih i 774 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, Boris90, esx66, FileFinder, FOX, GandorCC, Goran 0000, Karla, Kibice, kihot, kybonacci, ladro, laurusri, mercedesamg, Mercury, mikrimaus, milutin134, MiroslavD, nemkea71, NoOneEver Dreams, ostoja, ozzy, Panter, panzerwaffe, pein, powSrb, raptorsi, Regrut Boskica, Ripanjac, S1Mk3, sasa87, Sirius, slonic_tonic, Smajser, StepskiVuk, vathra, VJ, vladaa012, xoxxvelja, Zi0mek, Zoca, Šraf, šumar bk2, 1107, 79693