我应该在会话中存储用户数据,还是使用一个自定义的资料提供者?

 2023-02-16    390  

问题描述

在我的网站上时,用户日志我使用以下属性创建会话对象

DisplayName,
Email,
MemberId

问题

我应该在会话中存储用户数据,还是使用一个自定义的资料提供者?

    使用自定义配置文件提供程序来持有用户,它会更有意义吗?
    数据?

  1. 每个方法的Pro和Con是什么(会话和自定义个人资料提供商)?
  2. 使用自定义提供程序仅供阅读数据是有意义的
    可以来自一个或多个表?

推荐答案

我的答案不是直接接近你的问题.这只是一种替代方法.

而不是自定义配置文件提供程序,我创建自定义上下文,以跟踪当前登录的用户配置文件.这是示例代码.您可以存储displayname,电子邮件,myuser类的memberid stead.

void Application_AuthenticateRequest(object sender, EventArgs e)
{
    if (HttpContext.Current.User != null && 
        HttpContext.Current.User.Identity.IsAuthenticated)
    {
        MyContext.Current.MyUser = YOURCODE.GetUserByUsername(HttpContext.Current.User.Identity.Name);
    }
}

public class MyContext
{
    private MyUser _myUser;

    public static MyContext Current
    {
        get
        {
            if (HttpContext.Current.Items["MyContext"] == null)
            {
                MyContext context = new MyContext();
                HttpContext.Current.Items.Add("MyContext", context);
                return context;
            }
            return (MyContext) HttpContext.Current.Items["MyContext"];
        }
        }

        public MyUser MyUser
        {

            get { return _myUser; }
            set { _myUser = value; }
        }
    }
}

以上所述是小编给大家介绍的我应该在会话中存储用户数据,还是使用一个自定义的资料提供者?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34040.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。