Avatar billede Lars Søndergaard Nybegynder
05. oktober 2005 - 14:05 Der er 3 kommentarer og
1 løsning

Problem med userrole

Følgende response udskriver: True

string[] roles = {"Administrator"};
System.Threading.Thread.CurrentPrincipal = new GenericPrincipal(HttpContext.Current.User.Identity, roles);
                   
Response.Write(System.Threading.Thread.CurrentPrincipal.IsInRole("Administrator"));

Men efter Response.Redirect - altså side skift.. skriver den false. Hvordan laver jeg det sådan at jeg kan oprette nogle roller og checke for dem på alle sider ?
Avatar billede perlund Nybegynder
05. oktober 2005 - 17:27 #1
Eksekvere du hele kodeblokken igen på dit postback?

string[] roles = {"Administrator"};
System.Threading.Thread.CurrentPrincipal = new GenericPrincipal(HttpContext.Current.User.Identity, roles);
                   
Response.Write(System.Threading.Thread.CurrentPrincipal.IsInRole("Administrator"));

eller er det kun den sidste linie?
Avatar billede Lars Søndergaard Nybegynder
05. oktober 2005 - 19:32 #2
det er kun den sidste linje
Avatar billede perlund Nybegynder
05. oktober 2005 - 21:06 #3
Du bliver nødt til at tildele den aktuelle HTTPkontekst et IPrincipal object med rollerne for den aktuelle bruger ved hvert request.

Application_AuthenticateRequest handleren i Global.asax er et godt sted.
Avatar billede Lars Søndergaard Nybegynder
06. oktober 2005 - 13:27 #4
dammit.. jeg fandt det selv i noget gammel kode i netop Application_AuthenticateRequest

Tak for det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester