Frage

Ich habe einige Probleme mit meiner Website bekommen die authentifizierte Benutzer automatisch abmelden, wenn die Sitzung beendet wird (der Benutzer den Browser schließt).

Dies ist, was ich in meinem web.config haben:

<authentication mode="Forms">
    <forms name="AuthCookie" protection="All" loginUrl="~/default.aspx" path="/" cookieless="UseCookies" timeout="2592000"/>
</authentication>

<authorization>
    <allow users="?" />
</authorization>

<membership defaultProvider="ASPPGSqlMembershipProvider" userIsOnlineTimeWindow="20">
    <providers>
        <clear />
        <add name="AspNetSqlMemberShipProvider" applicationName="umbraco4" type="System.Web.Security.SqlMembershipProvider" connectionStringName="UmbracoDb" requiresUniqueEmail="true" enablePasswordReset="true" enablePasswordRetrieval="false"/>
        <add name="UsersMembershipProvider" applicationName="umbraco4" type="umbraco.providers.UsersMembershipProvider" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" />
        <add name="ASPPGSqlMembershipProvider" applicationName="umbraco4"
            passwordStrengthRegularExpression="" minRequiredPasswordLength="4" minRequiredNonalphanumericCharacters="0"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="false"
            requiresUniqueEmail="true"
            forumUpfileFolderPath="D:\www\files"
            type="ASPPG.MembershipProviders.ASPPGSqlMembershipProvider, ASPPGSiteIntegrationPackage"/>
    </providers>
</membership>

Dies ist, wie ich in dem Benutzer anmelden:

if (Membership.ValidateUser(txtUserName.Text, txtPasssword.Text)) {
    HttpCookie cookie = FormsAuthentication.GetAuthCookie(txtUserName.Text, false);
    cookie.Expires = DateTime.Now.AddDays(1);
    cookie.Domain = ConfigurationManager.AppSettings["Level2DomainName"];
    HttpContext.Current.Response.Cookies.Add(cookie);
    Response.Redirect(Request.Url.ToString());
}

Wenn ich den Browser zu schließen, wird der Benutzer noch angemeldet. Wie kann ich die Website die Benutzer durch eine Option vergessen, so dass der Benutzer selbst entscheiden kann, ob die Website erinnern soll oder nicht?

Vielen Dank im Voraus:)

M

War es hilfreich?

Lösung

Haben Sie nicht versucht, die cookie.Expires oder zumindest Einstellung Einstellung es DateTime.MinValue für Benutzer, die nicht sein ‚erinnert‘ wollen?

MSDN :

Einstellen der Verfällt Eigenschaft auf MinValue macht es zu einem Session-Cookie, das seinen Standardwert ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top