Springen naar inhoud


- - - - -

"Keep me logged in" werkt niet


  • Log in a.u.b. om te beantwoorden
Er zijn 3 reacties in dit onderwerp

#1 guest__*

guest__*
  • Gasten
    Laatst bezocht

Geplaatst op 18 november 2011 - 17:38

Ik start nog maar pas met ASP.NET en ben dus het één en 't ander aan het uitproberen...  ;)

Als je in visual studio kiest voor "File - New - Website" en kiest voor de template ASP.NET website dan wordt reeds een heel aantal zaken aangemaakt.

De website werkt : je kan er een account aanmaken en later met deze account terug aanloggen enz...

Wat nu bij mij niet werkt is het aanvinken van "Keep me logged in"... Telkens wanneer ik de website terug oproep moet ik opnieuw aanloggen, zelfs wanneer ik dus de vorige keer aangelogd heb met het vakje aangevinkt.

Enig idee hoe dat komt ?

#2 SilentBob

SilentBob

    Professional Developer

  • Leden
  • PipPipPipPip
  • 360 berichten
    Laatst bezocht
  • LocatieHome

Geplaatst op 22 november 2011 - 17:49

Gebeurt dit direct of als er enige tijd over gaat (bvb. 30 min.)?
Hier heb 'k een mogelijke verklaring gelezen.

Citeren

Authentication Cookie Lifetime
      When you call RedirectFromLoginPage and pass false as the second argument, ASP.NET issues a session authentication cookie containing a time stamp that limits the cookie's validity to 30 minutes, even if the browser session extends longer than that. The timeout value of 30 minutes is controlled by the timeout attribute attached to the <forms> element in Machine.config:

<forms ... timeout="30">

      You can change the timeout by editing Machine.config or including a timeout attribute in a local Web.config file. The following Web.config file enables forms authentication and extends the validity of the authentication cookie to seven days (10,080 minutes):

<configuration>
  <system.web>
    <authentication mode="Forms">
      <forms loginUrl="/LoginPage.aspx" timeout="10080" />
    </authentication>
  </system.web>
</configuration>

      When a session timeout cookie is returned to ASP.NET in a subsequent request, ASP.NET automatically renews it (updates the time stamp) if the cookie's lifetime is more than half over. Thus, even the default timeout of 30 minutes enables you to access a protected page for hours on end as long as the browser remains open and you submit the cookie to ASP.NET at least once every 15 minutes.
      If the user checks the "Keep me signed in" box in the login page of the application in the previous section, LoginPage.aspx issues a persistent authentication cookie by passing true to FormsAuthentication.RedirectFromLoginPage. Here's that statement one more time:

FormsAuthentication.RedirectFromLoginPage (UserName.Text,
    Persistent.Checked);
...
Grtz,

#3 guest__*

guest__*
  • Gasten
    Laatst bezocht

Geplaatst op 22 november 2011 - 18:54

Even er mij vandaag in verdiept en zag dat er m.i. gewoon een routine in de login.aspx.vb ontbreekt.  Ik heb nl. deze routine toegevoegd en nu werkt het :

Visual Basic Code:
	Protected Sub LoginUser_LoggedIn(ByVal sender As Object, ByVal e As System.EventArgs) Handles LoginUser.LoggedIn
		If LoginUser.RememberMeSet Then
			FormsAuthentication.SetAuthCookie(LoginUser.UserName, True)
		End If
	End Sub


Akkoord ?

#4 SilentBob

SilentBob

    Professional Developer

  • Leden
  • PipPipPipPip
  • 360 berichten
    Laatst bezocht
  • LocatieHome

Geplaatst op 22 november 2011 - 21:25

Als het werkt ben 'k akkoord  :)
Misschien moet je nog even testen of die timeout van 30 min. nog roet in 't eten kan gooien.




0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)