- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
表单例份验证票过早过期的另一个问题。
我需要使用滑动 Expiration 设置为 true。我已经阅读了论坛并理解了精度损失的问题,只有在仅在到期时间的一半之后提出请求时,票证才会更新。
问题:
在我的 webconfig 我有如下:
<authentication mode="Forms">
<forms timeout="20" name="SqlAuthCookie" protection="All" slidingExpiration="true" />
</authentication>
<sessionState timeout="20" />
<authorization>
void context_AcquireRequestState(object sender, EventArgs e)
{
HttpContext ctx = HttpContext.Current;
ResetAuthCookie(ctx);
}
private void ResetAuthCookie(HttpContext ctx)
{
HttpCookie authCookie = ctx.Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie == null)
return;
FormsAuthenticationTicket ticketOld = FormsAuthentication.Decrypt(authCookie.Value);
if (ticketOld == null)
return;
if (ticketOld.Expired)
return;
FormsAuthenticationTicket ticketNew = null;
if (FormsAuthentication.SlidingExpiration)
ticketNew = FormsAuthentication.RenewTicketIfOld(ticketOld);
if (ticketNew != ticketOld)
StoreNewCookie(ticketNew, authCookie, ctx);
}
private void StoreNewCookie(FormsAuthenticationTicket ticketNew, HttpCookie authCookie, HttpContext ctx)
{
string hash = FormsAuthentication.Encrypt(ticketNew);
if (ticketNew.IsPersistent)
authCookie.Expires = ticketNew.Expiration;
authCookie.Value = hash;
authCookie.HttpOnly = true;
ctx.Response.Cookies.Add(authCookie);
}
最佳答案
表单例份验证 cookie 仅在其过期时间过了一半后才会自我更新。
来自微软:
If the Web page is accessed before half of the expiration time passes, the ticket expiration time will not be reset. For example, if any Web page is accessed again at 5:04 00:00:00 PM, the cookies and ticket timeout period will not be reset.
To prevent compromised performance, and to avoid multiple browser warnings for users that have cookie warnings turned on, the cookie is updated when more than half the specified time has elapsed.
关于asp.net - 手动更新表单例份验证票 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10945715/
我做了一个投票按钮Here但我面临的唯一问题是,用户可以无限次投票。我不知道如何限制每个设备/浏览器 1 票。有人可以帮助我吗? 最佳答案 一个简单的方法是使用 cookie 或本地存储。 funct
我真正想要的是限制每人 1 票,但我能想到的下一个最好的事情是限制每个 IP 地址 1 票,以防止恶意用户/黑客严重篡改我公司的投票系统。我正在考虑使用数据库来跟踪 IP 地址。 更新:抱歉第一次没说
我正在从头开始创建我的第一个应用程序,它是 Android 上的一个论坛应用程序,我已经进入了它的赞成票/反对票部分。 我已将其设置为我的用户可以投反对票(类似于 StackOverflow),但我不
这是我的问题,我似乎无法弄清楚如何调用 ParkingTicket 对象 if (carMinutesPaid>meterMinutesPaid)?任何人都可以帮忙,下面是该问题的详细信息。 publ
我的网站上有投票系统,它将每个用户的投票存储在名为 skmp_voting 的表中,该数据库中的每条记录都有 id、item_id (这是文章用户投票的 id)和 vote_value 。 vote_
我如何使用 soap api 显示所有 otrs 门票。可以通过在 url 中传递票证 ID 来显示个人票证,如下所示: $url = "https://url/otrs/rpc.pl"; ////
在学习 Meteor 框架的过程中,我正在将 Yik Yak 移动应用程序重新创建为 Web 应用程序。但该应用程序是完全匿名的,没有用户帐户,但您仍然只能对帖子投赞成票或反对票一次。如何做到这一点?
我是一名优秀的程序员,十分优秀!