Ejemplo n.º 1
0
        private ClaimsIdentity GenerateUserIdentity(YaeherUser user, SystemConfig.UserManager userManager, string authenticationType)
        {
            if (user == null)
            {
                throw new ArgumentNullException(nameof(user));
            }
            string     userdata   = "";
            UserMemory userMemory = new UserMemory();

            userMemory.WecharOpenID   = user.WecharOpenID;
            userMemory.MobileRoleName = user.RoleName;
            if (userManager != null)
            {
                userMemory.IsAdmin           = userManager.IsAdmin;
                userMemory.IsCustomerService = userManager.IsCustomerService;
                userMemory.IsDoctor          = userManager.IsDoctor;
                userMemory.IsQC     = userManager.IsQC;
                userMemory.DoctorID = userManager.YaeherUserInfo.RoleName == "doctor" ? userManager.YaeherDoctorInfo.Id : 0;
            }
            userdata = JsonHelper.ToJson(userMemory);
            var claims = new[]
            {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                new Claim(ClaimsIdentity.DefaultNameClaimType, string.IsNullOrEmpty(user.LoginName)?"":user.LoginName),
                new Claim(ClaimTypes.Role, string.IsNullOrEmpty(user.RoleName)?"":user.RoleName),
                new Claim(ClaimTypes.UserData, userdata),
            };
            var identity = new ClaimsIdentity(claims, authenticationType, ClaimsIdentity.DefaultNameClaimType,
                                              ClaimsIdentity.DefaultRoleClaimType);

            return(identity);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            User user = new User();

            user.Username = "******";
            user.Age      = 22;
            user.Sex      = "male";

            UserMemory memory = new UserMemory();

            memory.Memento = user.SaveMemento();

            user.Username = "******";
            user.Age      = 19;
            user.Sex      = "male";

            user.RestoreMemento(memory.Memento);
        }