asp.net-mvc – MVC在会话中保存令牌
我正在调用一个服务,我需要在每次发出请求时传递用户的永久安全令牌.
为此,我已将此方法添加到我的基本控制器类: protected UserData getUsr() { try { UserData usr = new UserData(); usr.SecurityToken = Session["secToken"].ToString(); MembershipUser mvcUser = Membership.GetUser(HttpContext.User.Identity.Name); usr.Id = (int)mvcUser.ProviderUserKey; return usr; } catch (Exception ex) { log.Debug("Could not create usr object",ex); throw new Exception("Could not authenticate"); } } 这里的问题是,有时User.Identity数据会超出会话数据,导致用户看到他们登录但随后他们的请求失败会发生奇怪的错误. 是否有更好的方法来存储此令牌/我可以存储它以便在User.Identity对象到期时它将过期吗? 此外,如果有人知道一些很好的基本理解示例/文档HttpContext和MVC授权过滤器将是伟大的. 解决方法
我会去表单身份验证cookie本身存储用户的安全令牌. FormsAuthenticationTicket类包含UserData属性,您可以在其中包含附加信息.
这是一个article,描述了如何将其他信息存储到表单身份验证cookie. This是一篇很重要的文章,解释了将更多数据存储到表单身份验证中. cookie以及如何阅读它.代码是用VB编写的,格式不正确.您必须向下滚动到故障单中的步骤4:存储其他用户数据. 这个thread将帮助您快速回答如何从cookie中读取UserData. 我会去创建一个自定义的ValueProvider,如here所述,它将从auth中读取安全令牌. cookie和动作参数的提要. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 可以将NUnit集成到Visual Studio 2010中吗?
- asp.net – 未知的服务器标签’ajaxToolkit:CalendarExten
- asp.net-mvc – Project Silk类型架构对于数据量大的LOB应用
- asp.net – IIS 7.5无法打开处理程序映射?
- asp.net-mvc – 什么是防伪令牌盐的使用?
- asp.net-mvc – 依赖注入和ASP.Net成员提供程序
- asp.net – 设置Response.Status生成“HTTP状态字符串无效”
- asp.net – 是否有可能告诉IIS 7并行处理请求队列?
- ASP.NET API接口使用HttpClient进行测试和验证
- asp.net – 获取Gridview中隐藏列的值
- 如何重定向到returnUrl在Asp.Net MVC5中工作
- asp.net-mvc-3 – 在Dbcontext中的.NET MVC 3回滚
- asp.net-web-api – SelfHosted AspNet WebAPI与
- entity-framework – 序列化时如何忽略导航属性
- asp.net-mvc – 重新评估ModelState.IsValid属性
- asp.net-mvc – ASP.NET MVC母版页
- asp.net – 现在跟踪谁在网站上
- asp.net – 使用nginx作为IIS服务器的反向代理
- asp.net – 用于Basic或Windows身份验证的无限重
- asp.net-mvc-2 – ASP.NET MVC路由和URL.Action