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); }
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); }