メンバーシップロバイダー:セッションが終了すると自動的にログアウトします
-
01-10-2019 - |
質問
セッションが終了すると、ウェブサイトに認証されたユーザーを自動的にログアウトさせることに問題があります(ユーザーがブラウザを閉じます)。
これは私が私のweb.configに持っているものです:
<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>
これが私がユーザーにログインする方法です:
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());
}
ブラウザを閉じると、ユーザーは引き続きログインしています。ウェブサイトにオプションを介してユーザーを忘れるようにするにはどうすればよいですか。
前もって感謝します :)
m
解決
設定しないようにしましたか cookie.Expires
または少なくともそれを設定します DateTime.MinValue
「覚えられない」ユーザーのために?
から MSDN:
有効なプロパティをMinValueに設定すると、これはデフォルト値であるセッションCookieになります。
所属していません StackOverflow