asp.net-mvc – OnValidateIdentity会话为空 – Mvc Owin
发布时间:2020-12-16 09:11:49 所属栏目:asp.Net 来源:网络整理
导读:目前,我在OnValidateIdentity中访问Session时遇到问题 – HttpContext.Current.Session为null.我错了什么我的申请如下: – 我有2个项目:Mvc vs WebApi – 我希望用户在我更改密码时会退出 – 改变安全标记. – 我实现为:Mvc项目将验证用户请求时更改的Sec
目前,我在OnValidateIdentity中访问Session时遇到问题 – HttpContext.Current.Session为null.我错了什么我的申请如下:
– 我有2个项目:Mvc vs WebApi – 我希望用户在我更改密码时会退出 – >改变安全标记. – 我实现为:Mvc项目将验证用户请求时更改的SecurityStamp.我将从其他webapi网站获得SecurityStamp.这意味着我的mvc无法通过webapi直接访问数据库.我必须在authorize标头中输入令牌以从webapi获取安全性标记.但是,我无法从会话访问令牌,当我成功登录时,我将令牌存储在会话中.代码示例: public void ConfigureAuthentication(IAppBuilder app) { app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,CookieSecure = CookieSecureOption.SameAsRequest,LoginPath = new PathString("/Home"),LogoutPath = new PathString("/Account/Logout"),ExpireTimeSpan = TimeSpan.FromMinutes(30),Provider = new CookieAuthenticationProvider { OnValidateIdentity = async ctx => { var claim = ctx.Identity.FindFirst("SecurityStamp"); var accessToken = HttpContext.Current.Session["token"].ToString(); using (HttpClient httpClient = new HttpClient()) { // Used accessToken variable for httpClient // TODO Get security stamp from webapi . Ex : string securityStampWebApi = "demo"; if (securityStampWebApi != claim.Value) { ctx.RejectIdentity(); } } } } }); app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie); } 建议其他实施我可以完成这个案子. 解决方法
cookie中间件在IIS管道中的身份验证阶段运行,该阶段在HttpContextor会话状态可用之前.所以你需要在没有它的情况下工作.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 安装Windows 10后尚未注册ASP.NET 4.5
- asp.net核心 – 无法使用托管代理在Visual Studio Team Ser
- 自动完成后的事件填写Asp.net C#或javascript / html,
- asp.net – 将Salesforce.com与.NET Server C集成的最佳安全
- 处理ASP.NET MVC中日期的最佳方法 – Javascript应用程序
- asp.net-mvc – 应该在ASP.NET MVC应用程序中缓存发生在哪里
- asp.net-mvc – Orchard CMS:退出(注销)确认页面
- asp.net-mvc – ASP.NET MVC:HTTPContext和依赖注入
- 循环 – 如何检查我是否在ADO Recordset的最后一条记录上?
- asp.net-mvc – NHibernate:我如何XmlSerialize一个ISet?
推荐文章
站长推荐
- asp.net – vb中的Datalist.试图获取datalist中行
- asp.net-mvc – N2 for MVC – 如何让Zones工作?
- 在ASP.NET MVC中使用自定义验证替换默认客户端验
- asp.net – web.config角色和用户名是否允许空格
- asp.net-mvc – 我可以在’单元测试’时使用断点
- asp.net – 避免在web.config中提供服务器连接字
- asp.net – AspNetCompatibilityRequirements是什
- 使用oAuth和ASP.NET MVC WebApi进行身份验证
- asp.net-mvc – 如何从knockout mvc cart样本计算
- 网易云音乐无版权音乐补全工具
热点阅读