如何在ASP.NET中使用多个授权方案发布相应的承载和Cookie标识?
这
documentation describes部分如何使用多个身份验证方案:
例: app.UseCookieAuthentication(new CookieAuthenticationOptions() { AuthenticationScheme = "Cookie",LoginPath = new PathString("/Account/Unauthorized/"),AccessDeniedPath = new PathString("/Account/Forbidden/"),AutomaticAuthenticate = false }); app.UseBearerAuthentication(options => { options.AuthenticationScheme = "Bearer"; options.AutomaticAuthenticate = false; }); 但是它仅描述了如何使用Bearer或Cookie auth.不清楚的是其他组合是有效的,或者如何正确地向客户发放承载或cookie. 怎么能实现呢? 解决方法
Facebook,Google等大型网站使用的一个常见用例是使用多个cookie身份验证中间件,并使用AutomaticAuthenticate将其中一个设置为默认值
app.UseCookieAuthentication(new CookieAuthenticationOptions() { AuthenticationScheme = "InsecureLongLived",AutomaticAuthenticate = true }); app.UseCookieAuthentication(new CookieAuthenticationOptions() { AuthenticationScheme = "SecureAndShortLived",AutomaticAuthenticate = false }); >默认值为长期存在且用于非关键身份验证方案,例如在Facebook上,这可能是为了查看您的个人资料页面. 这使您不必一直使用长期存在的cookie登录,但是只要您需要做一些有潜在危险的事情,就可以切换到使用更短寿命的auth,从而更安全的cookie,这需要用户再次登录. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP .NET – Eval()背后发生了什么?
- asp.net-mvc – 添加基于Azure移动应用程序的实时聊天功能
- asp.net-mvc – 在ASP.NET MVC中执行原始SQL查询,数据库优先
- asp.net-mvc – 如何在ASP.NET MVC中添加路由到动态robots.
- 如何在ASP.NET成员资格中访问UserId而不使用Membership.Get
- .net-4.0 – 从3.5升级到ASP.net 4.0后登录失败
- 高流量ASP.NET MVC编码注意事项
- asp.net – 具有一个无效的SelectedValue,因为它在项目列表
- asp.net – 在哪里可以为Delphi Prism定义条件编译常量?
- asp.net – 计算MVC4中响应长度的简单方法
- 使用Asp.Net Identity 2在AspNetUserClaims中存储
- asp.net-mvc – 使用breeze js不直接与DBContext
- asp.net – 如何绑定一个MemoryStream到asp:图像
- asp.net-mvc-3 – asp.net mvc 3验证摘要不显示通
- asp.net – .NET 4.5 WebForms:我(仍然)真的必须
- asp.net – Response.IsClientConnected如何在幕
- asp.net – AppFabric Cache连接类型和协议
- ASP.NET导航到后面的代码锚点
- ASP.NET UpdatePanel Javascript回调
- asp.net – web.config使自定义成员资格提供程序