首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Membershipprovider:会话结束时自动注销

Membershipprovider:会话结束时自动注销
EN

Stack Overflow用户
提问于 2010-09-09 23:23:59
回答 1查看 1.3K关注 0票数 1

当会话结束时(用户关闭浏览器),让我的网站自动注销通过身份验证的用户时,我遇到了一些问题。

这是我的web.config中的内容:

代码语言:javascript
复制
<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>

这是我登录用户的方式:

代码语言:javascript
复制
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());
}

当我关闭浏览器时,用户仍处于登录状态。我如何通过一个选项让网站忘记用户,让用户自己决定网站是否应该记住?

提前感谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-09 23:30:23

你有没有试过不设置cookie.Expires,或者至少为不想被“记住”的用户设置DateTime.MinValue

来自MSDN

将Expires属性设置为MinValue会使其成为会话Cookie,这是它的默认值。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3678006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档