gpt4 book ai didi

asp.net - asp.net 中的身份验证 Cookie

转载 作者:行者123 更新时间:2023-12-02 13:58:08 25 4
gpt4 key购买 nike

我在asp.net中使用表单例份验证。我已将身份验证cookie过期设置为60分钟,web.config中的 session 超时设置为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”过期,从而将用户重定向到登录页面。请注意,这仅处理“身份验证”,不要与 session 混淆。

您的 session 可能“过期”,但用户仍然经过身份验证,这可能是一个问题。

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

建议:将“Web.config”中的表单超时设置为小于 session 超时。不要为任何与身份验证/安全相关的 session 建立依赖关系;两者是不同的容器,应该这样对待。

关于asp.net - asp.net 中的身份验证 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12365476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com