是否可以配置 OWIN Cookie 身份验证以防止某些 URL 影响滑动过期?
Posted
技术标签:
【中文标题】是否可以配置 OWIN Cookie 身份验证以防止某些 URL 影响滑动过期?【英文标题】:Can you configure OWIN Cookie Authentication to prevent certain URLs from affecting sliding expiration? 【发布时间】:2015-06-05 05:05:07 【问题描述】:我们有一个使用 OWIN Cookie 身份验证的 ASP.NET MVC 5 应用程序,具有滑动到期。在客户端,我们有一个脚本,它每分钟轮询 Web 服务以获取通知。我们希望防止该 Web 服务调用导致身份验证令牌过期向前滑动。有什么办法吗?
我正在考虑在 OnValidateIdentity 处理程序中实现我自己的自定义滑动到期方法,但在该方法中设置 ExpiresUtc 似乎并不会真正影响令牌的到期日期。
app.UseCookieAuthentication(new CookieAuthenticationOptions
Provider = new CookieAuthenticationProvider
OnValidateIdentity = cookieValidateIdentityContext =>
cookieValidateIdentityContext.Properties.ExpiresUtc = DateTime.UtcNow.AddMinutes(-1);
return Task.FromResult(0);
,
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
AuthenticationMode = AuthenticationMode.Active,
LoginPath = new PathString("/"),
SlidingExpiration = false,
LogoutPath = new PathString("/Sessions/Logout")
);
感谢任何帮助!
【问题讨论】:
【参考方案1】:我没有对此进行测试,但理论上它应该可以工作:
app.Use("/path1", app2 => app2.UseCookieAuthentication(...));
app.Use("/path2", app3 => app3.UseCookieAuthentication(...));
app.UseCookieAuthentication(...);
Use
调用的顺序很重要。 Owin 的美妙之处在于它能够覆盖子路径上的任何行为。
【讨论】:
你的意思是app.Map("/path1", ...)
吗?
几乎一样:***.com/questions/35559763/…以上是关于是否可以配置 OWIN Cookie 身份验证以防止某些 URL 影响滑动过期?的主要内容,如果未能解决你的问题,请参考以下文章
Owin cookie身份验证设置cookie未保存在浏览器中
Web API 2 OWIN Bearer Token cookie的用途?
在 OWIN 托管的 SignalR 实现中接受 ASP.NET 表单身份验证 cookie?