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

asp.net-mvc – 像Stack Overflow这样的网站如何在ASP.NET MVC中

发布时间:2020-12-16 06:41:43 所属栏目:asp.Net 来源:网络整理
导读:基本上,我使用OpenId登录我的网站,非常类似于我所假设的那样.当我收到信息后,我把它扔进一个数据库并创建我的“注册用户”.我设置了AuthCookie: FormsAuthentication.SetAuthCookie(user.Profile.MyProfile.DisplayName,false); 然后我可以将其用作用户名.
基本上,我使用OpenId登录我的网站,非常类似于我所假设的那样.当我收到信息后,我把它扔进一个数据库并创建我的“注册用户”.我设置了AuthCookie:

FormsAuthentication.SetAuthCookie(user.Profile.MyProfile.DisplayName,false);

然后我可以将其用作用户名.但是,我想传入整个对象而不仅仅是显示名称的字符串.所以我的问题是:

SO怎么做的?

他们是否扩展/覆盖SetAuthCookie(string,bool)方法以接受User对象,即SetAuthCookie(User(object),bool).

保留User对象的最佳方法是什么,以便我的Web应用程序的每个页面上的UserControl都可以使用它?

提前致谢!

解决方法

您可以通过 implementing自定义 Membership Provider或扩展现有的行为来实现此行为.提供程序根据密钥(或仅通过用户名)存储用户信息,并提供对 MembershipUser类的访问权限,您可以根据需要进行扩展.因此,当您调用FormsAuthentication.SetAuthCookie(…)时,您基本上设置了用户密钥,可以作为提供者访问.

当您调用Membership.GetUser()时,成员资格基础结构将调用基础提供程序并调用其GetUser(…)方法,为其提供当前用户的密钥.因此,您将收到当前的用户对象.

(编辑:李大同)

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

    推荐文章
      热点阅读