Asp.Net MVC 3-4 Nakon logiranja, kamo spremiti trenutnog korisnika?

Pozdrav!

Radim stranicu/aplikaciju u asp.net mvc-u 4. Nakon što se utipka korisničko ime i lozinka, ako je sve “validno”, gdje je najbolje spremiti korisničke podatke (User_ID, Role_ID, Full_Name)?
Ja sam prvo spremio u session, pr.:
Session[“User”] = User_ID.ToString() + “;” + Role_ID.ToString() + “;” + Full_Name ;
Ali onda sam se sjetio -> session hijacking i sve pada u vodu.
Malo sam guglao i naletio sam na jednog španjloca na youtube-u.
I to mi se čini dosta okej, ali nekako mislim da postoji nešto jednostavnije, pa ako se netko već susreo sa time, bilo bi mi drago ako može pomoći.
I da, naletio sam još na ovogkoji nepunih 70min priča, pomalo mi djeluje da on niti sam ne zna kaj radi - više mi djeluje kao da se sa strane koristi nekim papirima i tako radi - bar sam takav dojam dobio.

I da, još jedno pitanje… Vidim dosta često po nekim tutorialima ili video-ima, dosta ljudi radi bazu u Visual Studiu zajedno sa projektom, a ne zasebno tj., u SQL Server Managment Studiu, postoji li kakva velika razlika ili?

Ne trebaš ga nigdje spremati, možeš ga uvijek dohvatiti sa @WebSecurity.UserId

Evo tu sam nešto napisao o tome
http://www.webmajstori.net/forum/39496-asp-net-mvc-4-i-user-id

A korisnički podaci se i tako i tako spremaju u bazu koju asp.net mvc aplikacija sama generira i mislim da ti je to u 90% slučajeva dovoljno. U threadu ti piše i kako dodati nova polja da se kreiraju u bazi prilikom prvog pokretanja aplikacije.

Hah …zanimljivo.
Malo sam se zaribal time sto sam napravio “Empty project” i nemam sve te klase itd. :), ali puno si mi pomogao ovime, jednostavno sam zaboravio da postoji sve to vec gotovo.
Sad cu fino napravit novi projekt sa tim account controllerom i ostalim klasama i prekopirati u ovaj svoj postojeci projekt i sve fino uskladiti.

Puno hvala!

no problemo.

Ma ne moras raditi novi projekt. Mislim da se ne moras bojati da ce ti netko ukrasti session, asp.net vec po defaultu ekriptira cookie i jos stosta (httpcontext.user.identity.name - tamo drzi email ili userid, pa kada ti trebaju ostali podaci odes na bazu). Nemoj u sessionu drzati osjetljive podatke, to je jedino pravilo. A sto se tice kradje cookia, mislim da ti je tu ssl najbolje opcija (httcontext.user informacije su ekriptirane u cookiu, a ako imas ssl onda ce netko malo teze ukrast to).

Morao sam napraviti jer sam radio empty project a ne internet app., pa sam onda sve ovo sto sam napravio samo prekopirao. Uglavnom, nisam znao ovo za session - slucajno sam naletio na session hijacking pa me to malo “prepalo”. Dosta mi je pomogao CreatifCode sa svojim postom i kasnije sam malo guglao i naletio na ovaj LINK (jako dobar tutorial) pa kako ja (biser) nisam mogao dokucit kako dodat jos dodatna polja, CreatifCode mi je preporucio da pokusam ovako:
AccountController:
WebSecurity.CreateUserAndAccount(
model.UserName,
model.Password,
new { Ime = model.Ime,
Prezime= model.Prezime,
Email = model.Email},
false);

i isto tako prvo dodati sve u AccountModel-u u:
[Table(“UserProfile”)]
public class UserProfile i RegisterModel i sve je radilo.

Da, to je od novog SimpleMembershipProvidera o cemu smo nedavno pricali ovdje (
http://www.webmajstori.net/forum/39496-asp-net-mvc-4-i-user-id
)


Copyright © 2022 WM Forum - AboutContact