ASP.NET MVC 5从当前用户电子邮件创建全局变量

时间:2016-07-27 21:14:22

标签: c# asp.net asp.net-mvc

我当前的网站使用两个数据库,一个直接存储用户,另一个使用用户电子邮件存储其他数据。我需要从另一个表中提取数据(标识号),所以我创建了一个像这样运行的模型:

ZivoyAccount.cs

namespace ZivoyPublicaciones.Models
{
    public class ZivoyAccount
    {
        //Database for additional data
        private PPublicEntities db = new PPublicEntities();
        //Database with user roles
        private zivoypostEntities userdb = new zivoypostEntities();
        public Int64 UserIdentification { 
            get {
                //Get the User Identity
                String UserIdentity = HttpContext.Current.User.Identity.GetUserId();
                var UserData = userdb.AspNetUsers.Find(UserIdentity);
                //Get the User Email
                var UserEmail = UserData.Email;
                //Get the Data from Other Database
                var ZivoyUserData = db.Users.Find(UserEmail);
                return ZivoyUserData.user_gkey;
            } 
        }
    }
}

但我一直在阅读这不是正确的行为,因为为所有用户设置了这些变量,我需要为每个用户设置它们。我怎么能做到这一点?

我在父控制器上调用我的模型,以便我可以在所有子控制器上使用此变量

AuthorizationController.cs

namespace ZivoyPublicaciones.Controllers
{
    [Authorize]
    public class AuthorizationController : Controller
    {
        protected ZivoyAccount UserProfiler = new ZivoyAccount();
    }
}

0 个答案:

没有答案