加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-2 – User.Identity数据来自哪里?

发布时间:2020-12-16 03:51:15 所属栏目:asp.Net 来源:网络整理
导读:例如:如果我正在检索User.Identity.Name,它是来自.ASPXAUTH cookie还是使用我的会员提供程序从数据库中检索? 我访问User.Identity时是否有任何数据库请求? 谢谢. 编辑:现在我很确定它来自身份验证票证cookie,但找不到任何官方文档来确认这一点.任何人?
例如:如果我正在检索User.Identity.Name,它是来自.ASPXAUTH cookie还是使用我的会员提供程序从数据库中检索?

我访问User.Identity时是否有任何数据库请求?

谢谢.

编辑:现在我很确定它来自身份验证票证cookie,但找不到任何官方文档来确认这一点.任何人?

解决方法

这应该回答你的问题……

“表单身份验证票证不仅包括用户的身份,还包含有助于确保令牌的完整性和安全性的信息.”摘自以下Microsoft文章:

http://www.asp.net/security/tutorials/forms-authentication-configuration-and-advanced-topics-vb

除了该解释之外,观察ASP.NET行为还支持以下结论:用户名实际上存储在ASPXAUTH cookie中:在用户通过身份验证后,ASP.NET不会在后续页面请求中命中数据库.您可以像我一样,通过运行SQL事件探查器来监视ASP.NET应用程序使用的数据库,从而自己证明这一点.

还要知道用户名和身份验证票据数据不存储在会话状态中.除了引发安全问题之外,这种实现方式会导致ASP.NET成员资格在会话状态被禁用时中断.这是另一个Stack Overflow答案,表明Forms Authentication(Membership)数据和Session State彼此无关:

Does FormsAuthentication.SetAuthCookie() make a session based cookie?

该答案还链接到MSDN文章here,该文章详细解释了ASPXAUTH cookie,尽管上面引用的文章似乎更新.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读