加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net中的身份验证Cookie

发布时间:2020-12-16 09:48:05 所属栏目:asp.Net 来源:网络整理
导读:我在asp.net.i中使用表单身份验证已将我的Authenticate cookie过期设置为60分钟,在web.config中将会话时间设置为60分钟,在web.config中超时为60分钟以及在iis空闲时间中60分钟 authentication mode="Forms" forms loginUrl="~/Account/Login.aspx" timeout="
我在asp.net.i中使用表单身份验证已将我的Authenticate cookie过期设置为60分钟,在web.config中将会话时间设置为60分钟,在web.config中超时为60分钟以及在iis空闲时间中60分钟

<authentication mode="Forms">
        <forms loginUrl="~/Account/Login.aspx" timeout="60" defaultUrl="~/Landing.aspx" slidingExpiration="true"/>
    </authentication>
    <system.web>
        <sessionState timeout="60" mode="InProc"/>
    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
     2,// Version number
     txtUserName.Text.Trim(),// Username
     DateTime.Now,// Issue date
     DateTime.Now.AddMinutes(60),// Expiration date
     false,// Persistent?
     userData                 // User data
     );

因为我正在使用表单身份验证,如果用户空闲60分钟,用户应该在60分钟后被重定向到登录页面.但我需要知道如果用户没有空闲60分钟会发生什么.验证cookie是否会过期?尽管用户仍然经过身份验证?

编辑

我错过了另一件事我已经在IIS中将应用程序池标识设置为网络服务

解决方法

是的,用户仍将过期,并且他/她将无权使用服务器上的可用资源.您正在使用Forms Authentication Cookie,它是FormsAuthentication Ticket的简单容器.

由于您的票证是非持久性的,这将导致您的“cookie”到期,这会将用户重定向到LOGIN PAGE.请注意,这只处理“身份验证”,不要与Session混淆.

您可能会有会话“过期”,但用户仍然经过身份验证,这可能是一个问题.

因此,要直接回答您的问题,“用户身份验证”将过期,并且他/她将被重定向到登录页面,在登录页面上将创建一个新的cookie,这将创建另一个“会话”对象.超时前一个将过期.

建议:使“Web.config”中的表单超时小于Session.对于与Auth / Security相关的任何Auth / Security,不要建立对Session的依赖;这两个是不同的容器,应该这样对待.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读