Avatar billede speedpete Nybegynder
27. april 2006 - 13:17 Der er 20 kommentarer og
1 løsning

.NET 2.0 IsOnline, vil ikke logge af.

Jeg ville lave en funktion, som viser hvem af mine brugere som er online, så jeg brugte MembershipUser.IsOnline til at fremhæve brugernavnet i min administratordel.

Så loggede jeg mig på som en af brugerne, og konstaterede at det virker: Jeg kan som administrator se, at brugeren er logget på.

MEN SÅ: Jeg loggede mig af som denne bruger, men på administratordelen står brugeren stadig som logget på. Jeg har prøvet med log-af knappen (2.0´s indbyggede), og med at lukke browseren. Lige lidt hjalp det...
Avatar billede dr_chaos Nybegynder
27. april 2006 - 13:23 #1
mig bekendt er isonline ikke helt præcis.
Der går noget tid før den registerer at en bruger ikke længere er online.
Men er ikke sikker.
Avatar billede speedpete Nybegynder
27. april 2006 - 13:27 #2
Ja, der går ihvertfald nogle minutter, før der sker noget.

Ved du forøvrigt, om man kan gøre noget ved følgende:

1. En bruger logger af vha. logout-knappen.
2. Samme bruger trykker "tilbage" i browseren, og kommer tilbage til den side, han lige er logget ud fra?

Det er jo ikke så godt, hvis nu han står på en offentlig computer og ikke lukker sin browser.
Avatar billede dr_chaos Nybegynder
27. april 2006 - 13:33 #3
Nej det er sandt.
prøv at kigge her:
http://aspalliance.com/694#Page2
Avatar billede dr_chaos Nybegynder
27. april 2006 - 13:33 #4
Det kan gøres med httpheaders
Avatar billede speedpete Nybegynder
27. april 2006 - 15:00 #5
Ok, fint. Mht http://aspalliance.com/694, så det følgende, der virker (IE7b2):

Hello All. It took a while at finding the right combination, but here is the solution to the Back Button Log Out Problem. In the logout method, call the following two methods:

Session.Abandon();
HttpContext.Current.Response.Redirect("PageDesired.apsx", true);

In the Page Load method, call the following:

HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);

Also, don't forget to set your session variable, and then check it on the page load method after the Cache function. What happens is that calling Session.Abandon forces the browser to try to reload the page when the Back Button is selected. You can then check your variable and b/c the whole session has been abandoned, it is empty and you can redirect to the page you want, just like in Log Out.

But don't forget to set "NoCache". Session Abandon by itself isn't enough.

And Good Luck!
Carolyn :)
Avatar billede speedpete Nybegynder
27. april 2006 - 15:18 #6
... men træerne rækker ikke ind i himlen - Netscape, FireFox og Opera er ret ligeglade.
Avatar billede dr_chaos Nybegynder
28. april 2006 - 07:59 #7
prøv at tilføje:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">

Men læs lige denne artikel før du gør det:
http://aspadvice.com/blogs/rjdudley/archive/2006/04/07/16280.aspx
Avatar billede speedpete Nybegynder
28. april 2006 - 09:16 #8
Vil du ikke have nogen points efterhånden? Det var skidegodt du lige gav mig den sidste artikel, ellers havde jeg haft et gevaldigt problem med netop PDF'er.
Avatar billede dr_chaos Nybegynder
28. april 2006 - 09:16 #9
gerne :)
Avatar billede dr_chaos Nybegynder
28. april 2006 - 09:17 #10
og np.
Regnede nok med at det var noget du kunne bruge.
Avatar billede speedpete Nybegynder
28. april 2006 - 09:19 #11
Forøvrigt - da jeg ikke kan anvende det hersens no-cache, er der så andet at gøre end at opfordre brugeren til at lukke deres browser? Eller kan man lave et JavaScript som automatisk lukker browseren (med en ja/nej prompt)?
Avatar billede dr_chaos Nybegynder
28. april 2006 - 09:24 #12
Du kan vel godt bruge den på sider som ikke er pdf relateret?
Måske kan du lave en side vis eneste formål er at response.redirect.

altså fra logout
Response.Redirect("temp.aspx");
i temp.aspx
Response.Redirect("Duerloggetud.aspx");
på Duerloggetud.aspx
vise du så brugeren en meddelelse om at han er logget ud.

Det er en nem løsning men ikke fejlfri.
Avatar billede speedpete Nybegynder
28. april 2006 - 09:29 #13
Mht CacheControl, så sætter jeg den på MasterPage'en - jeg gider ikke sætte den på alle siderne, så jeg fjerner den bare helt, og finder på noget andet.

? Jeg har i forvejen en side som, når man er logget ud, laver Session.Abandon og redirecter til forsiden. Men det løser ikke problemet med, at man kan gå tilbage med browserens tilbage-knap, så jeg overvejer om man på 'temp.aspx' kunne lave noget javascript som forsøger at lukke browseren?
Avatar billede dr_chaos Nybegynder
28. april 2006 - 09:36 #14
måske kan man det men er ikke sikker.
med den løsning hvor man laver 2 response.redirect
så vil en bruger som bruger back button automatisk ryge frem til Duerloggetud.aspx
dermed kan man ikke bruge back button.
Avatar billede speedpete Nybegynder
28. april 2006 - 09:39 #15
Nå, på den måde... hvordan er den ikke fejlfri?
Avatar billede dr_chaos Nybegynder
28. april 2006 - 09:41 #16
nogen gange kan man trykke hurtigt nok på backknappen til at overrule den.
dvs at temp.aspx ikke når at blive eksekveret.
Avatar billede speedpete Nybegynder
28. april 2006 - 09:49 #17
Ok, på den måde. Eller man kan bruge oversigten til at komme tilbage, eller copy/paste adressen ind i adresselinien... så den effektive måde er vel at lukke browseren?
Avatar billede dr_chaos Nybegynder
28. april 2006 - 10:08 #18
ja i princippet.
hvordan bruger du pdf filer ?
Avatar billede speedpete Nybegynder
28. april 2006 - 10:11 #19
Jeg generer dem dynamisk, gemmer dem i en mappe i et niveau over wwwroot, og streamer dem.
Avatar billede dr_chaos Nybegynder
28. april 2006 - 10:12 #20
via en aspx side ?
Avatar billede speedpete Nybegynder
28. april 2006 - 10:15 #21
jep
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
Kurser inden for grundlæggende programmering

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