Avatar billede TV47 Seniormester
08. marts 2020 - 13:53 Der er 10 kommentarer og
1 løsning

Visual studio 2019 og at gemme værdi

Hej med jer.

I forbindelse med en login side, ønsker jeg at gemme en værdi fra brugeren.
Mine brugerdata findes i en tabel i en sql db.

Findes der en slags "global" variabel som kan holde på en værdi, der kan vendes tilbage til i hele webapplikationen uanset form?
Avatar billede Slater Ekspert
08. marts 2020 - 14:15 #1
Ja, det hedder en cookie.
Avatar billede arne_v Ekspert
08. marts 2020 - 14:15 #2
Du har Session objekt som deles af alle requests fra samme bruger og Application objekt som deles af alle requests uanset bruger.
Avatar billede TV47 Seniormester
09. marts 2020 - 10:59 #3
Hej Arne.

Altid gode svar :-).

Jeg tror måske det kan bruges, altså i det jeg skal er det session object.
Jeg ønsker at holde fast i en brugers rolle som kommer fra brugerdata i sql.
Det får betydning for hvilke webforms brugeren kan få adgang til.

Men er lidt i tvivl om det med timeout.

Jeg ønsker at brugeren skal beholde værdien i variabel indtil sessionen afsluttes, ikke bare i 20 min. til automatisk timeout.
Avatar billede arne_v Ekspert
09. marts 2020 - 13:37 #4
ASP.NET Session objekt vil eksistere indtil en af følgende sker:
* eksplicit kald af Abandon metode
* timeout som sker N minutter efter sidste modtagne request - N kan ændres i web.config

Jeg har svært ved at se hvorfor ikke N kan være ret lille i de fleste tilfælde - hvor tit vil folk være på et web site i 20 minutter uden at lave noget.
Avatar billede TV47 Seniormester
09. marts 2020 - 14:23 #5
Ok, jeg er bare bekymret for om de kan arbejde videre i programmet selv variablen nulstilles. Men det kan de måske slet ikke? Hvad sker der egentlig konkret i den browser de har åben, hvis timeout indtræffer?
Avatar billede arne_v Ekspert
09. marts 2020 - 14:35 #6
Serveren pusher ikke noget ud til browseren.

Men hvis browser sender en ny request til server så starter det en hel ny session med et nyt tomt Session objekt helt ligesom første gang.
Avatar billede TV47 Seniormester
09. marts 2020 - 14:44 #7
Ok, så skal jeg nok have webformen til at vende tilbage til login i den situation.
Avatar billede arne_v Ekspert
09. marts 2020 - 14:59 #8
Ja.

Er du opmærksom på at login kan styres deklarativt fremfor programmatisk i ASP.NET?
Avatar billede TV47 Seniormester
09. marts 2020 - 15:18 #9
Nej, hvad betyder det?
Avatar billede arne_v Ekspert
09. marts 2020 - 15:51 #10
Det betyder at:
* du opretter brugere og roller i en database
* du laver en login side
* du definerer i web.config hvilke sider der skal beskyttes og peger på login side
* ASP.NET gør resten

Søge ord er:

ASP.NET membership
ASP.NET identity

Eksempler på links:

https://docs.microsoft.com/en-us/previous-versions/yh26yfzy(v=vs.140)?redirectedfrom=MSDN

https://docs.microsoft.com/en-us/previous-versions/msp-n-p/ff647070(v=pandp.10)?redirectedfrom=MSDN

https://www.codeproject.com/Articles/281573/ASP-NET-Membership-and-Role-Provider

https://docs.microsoft.com/en-us/aspnet/identity/overview/
Avatar billede TV47 Seniormester
09. marts 2020 - 16:00 #11
Ok, det må jeg have kigget på en dag.
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

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