/// <summary> /// 获取token,加载权限到缓存,生成response结果 /// </summary> private async Task <LoginResult> GetLoginResult(BaseIdentityUser user) { // 根据用户的角色获取用户页面侧的权限内容 List <string> identities = new List <string> { }, routes = new List <string> { }; // 用户的角色 var userRoles = await _userService.GetUserRolesAsync(user); foreach (var role in userRoles) { var identificationStr = await _permissionCacheService.GetRoleIdentificationAsync(role); identities.AddRange(identificationStr.Split(CommonConstants.StringConnectChar, StringSplitOptions.RemoveEmptyEntries)); var routeStr = await _permissionCacheService.GetRoleRoutesAsync(role); routes.AddRange(routeStr.Split(CommonConstants.StringConnectChar, StringSplitOptions.RemoveEmptyEntries)); } // 生成JwtToken var token = _jwtFactory.GenerateJwtToken(new List <(string, string)> { (CustomClaimTypes.UserName, user.UserName), (CustomClaimTypes.Role, string.Join(',', userRoles)), });
/// <summary> /// 获取token,加载权限到缓存,生成response结果 /// </summary> private async Task <LoginResult> GetLoginResult(BaseIdentityUser user) { // 用户的角色 var userRoles = await _userService.GetUserRolesAsync(user); // 根据用户的角色获取用户页面侧的权限内容 var identities = await _permissionCacheService.GetRoleIdentificationAsync(userRoles); var routes = await _permissionCacheService.GetRoleRoutesAsync(userRoles); // 生成JwtToken var token = _jwtFactory.GenerateJwtToken(new List <(string, string)> { (CustomClaimTypes.UserName, user.UserName), (CustomClaimTypes.Role, string.Join(',', userRoles)), });
public void Insert(BaseIdentityUser user, UserLoginInfo login) { var tblLogin = new tblWebsiteUserLogin() { UserId = user.Id, LoginProvider = login.LoginProvider, ProviderKey = login.ProviderKey }; using (OneFineRateEntities db = new OneFineRateEntities()) { db.tblWebsiteUserLogins.Add(tblLogin); db.SaveChanges(); } }
public void Delete(BaseIdentityUser user, UserLoginInfo login) { var tblLogin = new tblWebsiteUserLogin() { UserId = user.Id, LoginProvider = login.LoginProvider, ProviderKey = login.ProviderKey }; using (OneFineRateEntities db = new OneFineRateEntities()) { var entry = db.Entry(tblLogin); if (entry.State == EntityState.Detached) { db.tblWebsiteUserLogins.Attach(tblLogin); } db.tblWebsiteUserLogins.Remove(tblLogin); db.SaveChanges(); } }
/// <summary> /// 取得指定用户的角色 /// </summary> public async Task <List <string> > GetUserRolesAsync(BaseIdentityUser baseIdentityUser) { var result = await _userManager.GetRolesAsync(baseIdentityUser); return(result.ToList()); }
public async Task <IList <string> > GetRolesAsync(BaseIdentityUser user) { return(await this._userManager.GetRolesAsync(user)); }
/// <summary> /// 查找用户的角色 /// </summary> /// <param name="user"></param> /// <returns></returns> public async Task <string> FindUserRoleAsync(BaseIdentityUser user) { var roles = await _userManager.GetRolesAsync(user); return(string.Join(',', roles)); }