Avatar billede tniels Nybegynder
06. maj 2005 - 10:29 Der er 21 kommentarer og
1 løsning

Hvorfor bliver jeg logge af

Jeg er lige begyndt at arbejde med asp.net.

Jeg har oprette en side med et administrationsmodul. Når man skal bruge administrationsmodulet, skal man naturligvis logge ind. Mit problem er, at mens man sidder og bruger modulet, bliver man på tilfældige steder logget ud. Det er ikke fordi den timer ud. Det kan opstå ved at jeg sidder og skifter frem og tilbage mellem to sider (IKKE på frem og tilbage-knapperne i browseren), og så lige pludselig bliver man logget ud.
Jeg ved ikke, om det er pga. at serveren på en eller anden måde løber tør for nogle ressourcer, og derfor genstarter sites eller sessionen. Den er på ingen måder overbelastet.

I kan i min web.config-fil se, hvordan jeg godkender brugerne:
<configuration>
    <location path="">
        <system.web>
            <compilation debug="true"/>
            <authentication mode="Forms">
                <forms name="login" path="/" loginUrl="/admin/login.aspx" protection="All" timeout="20" />
            </authentication>
            <authorization>
                <allow users="*" />
            </authorization>
            <httpRuntime maxRequestLength="512000" />
            <pages enableSessionState="false" />
        </system.web>
    </location>
    <location path="admin">
        <system.web>
            <authorization>
                <deny users="?" />
            </authorization>
        </system.web>
    </location>
</configuration>

Hvad kan der være galt?
Avatar billede snepnet Nybegynder
06. maj 2005 - 10:39 #1
har du prøvet at sætte slidingExpiration="true" ?
det skulle gerne gøre, at din cookie udløber <timeout> efter sidste request - alternativnt kan du angive at din cookie skal være persistent når du laver et RedirectFromLogIn - kald.

du kan eventuelt vise lidt kode for hvordan du gør diverse omkring login....

mvh
Avatar billede tniels Nybegynder
06. maj 2005 - 10:49 #2
Når en bruger bliver godkendt, bruger jeg:
FormsAuthentication.RedirectFromLoginPage(sUsername.Text,False)

Hvor sætter jeg de to ting, du foreslår?
Er "slidingExpiration="true"" i web.config-filen?
Skal jeg skrive "FormsAuthentication.RedirectFromLoginPage(sUsername.Text,True)" i stedet for? Er det ikke bare så den husker mit password til næste gang?
Avatar billede snepnet Nybegynder
06. maj 2005 - 10:56 #3
true i RedirectFromLogInPage gør at den cookie der lægges på brugerens maskine ikke timer ud, hvorfor det virker som om man stadig er logget ind når man går ind på siden senere.
jeps - slidingexpiration sætter du i web.config i dit forms-element, hvor du også har timeout stående.

du skal ikke gøre begge dele... du skal enten prøve at gøre din cookie persistant ved at angive true i RedirectFromLogin ELLER sætte slidingExpiration true i web.config.

du kan jo lige prøve det, og se om det hjælper .... ellers må vi jo bare søge videre efter det :o)

mvh
Avatar billede tniels Nybegynder
06. maj 2005 - 11:06 #4
Øv, ingen af tingene hjalp på problemet.

OK, jeg kan godt se, hvad true i RedirectFromLoginPage gør. Hvis man genstarter browseren, er man stadig logget på. Men det hjalp desværre ikke på mit problem. Jeg bliver stadig logge ud tilfældigt.

Jeg skulle bare indsætte slidingExpiration="true" sådan her:
<forms name="login" path="/" loginUrl="/admin/login.aspx" protection="All" timeout="20" slidingExpiration="true" />
Avatar billede snepnet Nybegynder
06. maj 2005 - 11:10 #5
jeps - det var bare det du skulle.
... det er ikke sådan at du f.eks. retter i filer som eksempelvis web.config mens du tester ?
Avatar billede tniels Nybegynder
06. maj 2005 - 11:23 #6
Nej, ikke mens jeg sidder og tester. Det ske lige pludselig, mens jeg sidder og skifter rundt mellem siderne.
Avatar billede snepnet Nybegynder
06. maj 2005 - 11:35 #7
har du noget som helst anden kode der starter med FormsAuthentication. ?
mvh
Avatar billede tniels Nybegynder
06. maj 2005 - 11:50 #8
Ja, jeg har to andre steder.
Jeg har lavet en knap, hvor man kan logge ud. Der bruger jeg "FormsAuthentication.SignOut()".
I headeren på alle siderne, tjekker jeg om brugeren har rettigheder til at se denne side. Hvis vedkommende ikke har rettigheder, bruger jeg også "FormsAuthentication.SignOut()".

For at se om disse to havde nogen betydning, har jeg prøvet at fjerne begge to. Det hjalp desværre heller ikke.
Avatar billede snepnet Nybegynder
06. maj 2005 - 12:02 #9
har du prøvet (for forsøgets skyld) at enable sessionState ?
mvh
Avatar billede snepnet Nybegynder
06. maj 2005 - 12:06 #10
hvilken IIS bruger du ? (5.X / 6)
Avatar billede tniels Nybegynder
06. maj 2005 - 12:25 #11
Ja, det har jeg også prøvet. Det hjalp heller ikke.
Jeg bruger IIS 6.0.
Avatar billede snepnet Nybegynder
06. maj 2005 - 12:30 #12
det foresvæver mig at jeg er stødt på den slags på nettet.... de links du sidder og skifter imellem - er det tænkeligt at du ikke er konsistent med case ?
f.eks. default.aspx / Default.asp.
(jeg prøver lige om jeg kan finde noget om det)
mvh
Avatar billede tniels Nybegynder
06. maj 2005 - 12:48 #13
Nej desværre. Men det er nu også de samme links jeg sidder op trykker på. Et øjeblik virker linket fint, og det næste øjeblik bliver jeg bare logget ud.
Det er dog typisk på nogle lidt ressourcekrævende sider, det sker. F.eks. sker det oftes på sider, hvor jeg bruger et TDC-object (Tabular Data Control) til at hente data ud i en dynamisk tabel.
Men der er dog inden konsikvens i det. Nogle gange er det på en krævende side, andre gange på en simpel side.
Avatar billede snepnet Nybegynder
06. maj 2005 - 13:00 #14
det lyder lidt klamt synes jeg ... prøvede lige at google lidt ... kan se at nogle har problemer med at holde session på iis6.0, men har så forsøgt sig omkring at lægge app i sin egen applicationpool, meeeeen.... jeg ved ikke om man kan finde nogle lighedspunkter mellem den slags.
kan du ikke prøve at debugge (eller trace) og se om du rammer dit SignOut() kald ?
mvh
Avatar billede snepnet Nybegynder
16. maj 2005 - 22:05 #15
hej tniels.... hvordan ser det ud her ?
mvh
Avatar billede tniels Nybegynder
17. maj 2005 - 10:48 #16
Jeg fik lige pludselig travlt med noget andet, så jeg kom ikke så meget videre.

Den ligger på nuværende tidspunkt i DefaultAppPool, men der er ikke anden på serveren, der ligger og belaster. Men jeg prøver lige at lægge den i sin egen, og fortæller den, at den ikke skal time-out.

Hvordan kan jeg debugge/trace, så jeg kan holde øje med, at jeg ikke rammer SignOut()?
Avatar billede tniels Nybegynder
17. maj 2005 - 10:55 #17
Det hjalp ikke, at give den sin egen applicationpool.
Avatar billede snepnet Nybegynder
17. maj 2005 - 10:55 #18
tracing kan du slå til i din web.config :

<trace
    enabled="true"
    requestLimit="10"
    pageOutput="true"
    traceMode="SortByTime"
    localOnly="true"
/>

hvis du sætter pageOutput="false", vil du ikke se noget på den enkelte side, men du vil kunne finde dit trace på :
http://host/site/trace.axd

du skriver til dit trace fra koden med :
Trace.Write("et eller andet");

men det er nemmest at debugge, hvis du bruger et udviklingsmiljø som visual studio. hvis du gør det - sætter du sådan set bare et breakpoint i koden (kan du gøre ved at trykke F9 på den linie du gerne vil stoppe ved), og derefter starte med F5.

hvis du ikke bruger visual studio kan det dog også sagtens lade sige gøre - det er bare lidt mere gnidret.

mvh
Avatar billede tniels Nybegynder
15. juni 2005 - 15:37 #19
Nu har jeg fundet ud af, at det er hele cookie'en, der bliver nulstillet. Men hvorfor ved jeg ikke. Det vil sige, at jeg også miste nogle forskellige indstillinger, jeg har gemt i cookie'en.
Er der en begrænsning for, hvormeget data man kan lægge i en cookie? Kan det være fordi cookie'en fylder for meget?
Avatar billede tniels Nybegynder
17. juni 2005 - 13:49 #20
Nu har jeg endelig styr på det. Det var fordi jeg gemte for mange oplysninger i min cookie. Det resulterede i, at den overskrev mine login oplysninger, og jeg derfor blev logget af.

snepnet: Hvis du vil have dine point, kan du lige sende et svar. Mange tak for hjælpen!
Avatar billede snepnet Nybegynder
07. september 2005 - 17:37 #21
sorry - har ikke set denne oldsag.
selv tak, og et svar her, hvis du stadig skulle husere herude :o)
mvh
Avatar billede tniels Nybegynder
07. september 2005 - 20:09 #22
Hehe... endnu engang tak for hjælpen. Her er dine points.
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