Browse Source

upgrade dapr.net from 1.1.0 to 1.3.0

pull/295/head
cKey 4 years ago
parent
commit
9bd203b0a6
  1. 2
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors.AspNetCore/LINGYUN.Abp.Dapr.Actors.AspNetCore.csproj
  2. 2
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors/LINGYUN.Abp.Dapr.Actors.csproj
  3. 4
      aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Client/LINGYUN.Abp.Dapr.Client.csproj
  4. 207
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN/Abp/Identity/MyProfileAppService.cs

2
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors.AspNetCore/LINGYUN.Abp.Dapr.Actors.AspNetCore.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapr.Actors.AspNetCore" Version="1.1.0" /> <PackageReference Include="Dapr.Actors.AspNetCore" Version="1.3.0" />
<PackageReference Include="Volo.Abp.AspNetCore" Version="4.4.0" /> <PackageReference Include="Volo.Abp.AspNetCore" Version="4.4.0" />
</ItemGroup> </ItemGroup>

2
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Actors/LINGYUN.Abp.Dapr.Actors.csproj

@ -8,7 +8,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapr.Actors" Version="1.1.0" /> <PackageReference Include="Dapr.Actors" Version="1.3.0" />
<PackageReference Include="Volo.Abp.Http.Client" Version="4.4.0" /> <PackageReference Include="Volo.Abp.Http.Client" Version="4.4.0" />
</ItemGroup> </ItemGroup>
</Project> </Project>

4
aspnet-core/modules/dapr/LINGYUN.Abp.Dapr.Client/LINGYUN.Abp.Dapr.Client.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
@ -6,7 +6,7 @@
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Dapr.Client" Version="1.1.0" /> <PackageReference Include="Dapr.Client" Version="1.3.0" />
<PackageReference Include="Volo.Abp.Http.Client" Version="4.4.0" /> <PackageReference Include="Volo.Abp.Http.Client" Version="4.4.0" />
</ItemGroup> </ItemGroup>

207
aspnet-core/modules/identity/LINGYUN.Abp.Identity.Application/LINGYUN/Abp/Identity/MyProfileAppService.cs

@ -1,104 +1,103 @@
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Caching.Distributed;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Caching; using Volo.Abp.Caching;
using Volo.Abp.Identity; using Volo.Abp.Identity;
using Volo.Abp.Identity.Settings; using Volo.Abp.Settings;
using Volo.Abp.Settings; using Volo.Abp.Users;
using Volo.Abp.Users;
namespace LINGYUN.Abp.Identity
namespace LINGYUN.Abp.Identity {
{ [Authorize]
[Authorize] public class MyProfileAppService : IdentityAppServiceBase, IMyProfileAppService
public class MyProfileAppService : IdentityAppServiceBase, IMyProfileAppService {
{ protected IDistributedCache<SmsSecurityTokenCacheItem> SecurityTokenCache { get; }
protected IDistributedCache<SmsSecurityTokenCacheItem> SecurityTokenCache { get; } protected IUserSecurityCodeSender SecurityCodeSender { get; }
protected IUserSecurityCodeSender SecurityCodeSender { get; } protected IdentityUserManager UserManager { get; }
protected IdentityUserManager UserManager { get; } protected IIdentityUserRepository UserRepository { get; }
protected IIdentityUserRepository UserRepository { get; } protected IOptions<IdentityOptions> IdentityOptions { get; }
protected IOptions<IdentityOptions> IdentityOptions { get; }
public MyProfileAppService(
public MyProfileAppService( IdentityUserManager userManager,
IdentityUserManager userManager, IIdentityUserRepository userRepository,
IIdentityUserRepository userRepository, IUserSecurityCodeSender securityCodeSender,
IUserSecurityCodeSender securityCodeSender, IOptions<IdentityOptions> identityOptions,
IOptions<IdentityOptions> identityOptions, IDistributedCache<SmsSecurityTokenCacheItem> securityTokenCache)
IDistributedCache<SmsSecurityTokenCacheItem> securityTokenCache) {
{ UserManager = userManager;
UserManager = userManager; UserRepository = userRepository;
UserRepository = userRepository; IdentityOptions = identityOptions;
IdentityOptions = identityOptions; SecurityCodeSender = securityCodeSender;
SecurityCodeSender = securityCodeSender; SecurityTokenCache = securityTokenCache;
SecurityTokenCache = securityTokenCache; }
}
public virtual async Task ChangeTwoFactorEnabledAsync(ChangeTwoFactorEnabledDto input)
public virtual async Task ChangeTwoFactorEnabledAsync(ChangeTwoFactorEnabledDto input) {
{ // Removed See: https://github.com/abpframework/abp/pull/7719
// Removed See: https://github.com/abpframework/abp/pull/7719 //if (!await SettingProvider.IsTrueAsync(IdentitySettingNames.TwoFactor.UsersCanChange))
//if (!await SettingProvider.IsTrueAsync(IdentitySettingNames.TwoFactor.UsersCanChange)) //{
//{ // throw new BusinessException(Volo.Abp.Identity.IdentityErrorCodes.CanNotChangeTwoFactor);
// throw new BusinessException(Volo.Abp.Identity.IdentityErrorCodes.CanNotChangeTwoFactor); //}
//} // TODO: Abp官方移除了双因素的设置,不排除以后会增加,如果在用户接口中启用了双因素认证,可能造成登录失败!
// TODO: Abp官方移除了双因素的设置,不排除以后会增加,如果在用户接口中启用了双因素认证,可能造成登录失败! await IdentityOptions.SetAsync();
await IdentityOptions.SetAsync(); var user = await UserManager.GetByIdAsync(CurrentUser.GetId());
var user = await UserManager.GetByIdAsync(CurrentUser.GetId());
(await UserManager.SetTwoFactorEnabledWithAccountConfirmedAsync(user, input.Enabled)).CheckErrors();
(await UserManager.SetTwoFactorEnabledWithAccountConfirmedAsync(user, input.Enabled)).CheckErrors();
await CurrentUnitOfWork.SaveChangesAsync();
await CurrentUnitOfWork.SaveChangesAsync(); }
}
public virtual async Task SendChangePhoneNumberCodeAsync(SendChangePhoneNumberCodeDto input)
public virtual async Task SendChangePhoneNumberCodeAsync(SendChangePhoneNumberCodeDto input) {
{ var securityTokenCacheKey = SmsSecurityTokenCacheItem.CalculateCacheKey(input.NewPhoneNumber, "SmsChangePhoneNumber");
var securityTokenCacheKey = SmsSecurityTokenCacheItem.CalculateCacheKey(input.NewPhoneNumber, "SmsChangePhoneNumber"); var securityTokenCacheItem = await SecurityTokenCache.GetAsync(securityTokenCacheKey);
var securityTokenCacheItem = await SecurityTokenCache.GetAsync(securityTokenCacheKey); var interval = await SettingProvider.GetAsync(Settings.IdentitySettingNames.User.SmsRepetInterval, 1);
var interval = await SettingProvider.GetAsync(Settings.IdentitySettingNames.User.SmsRepetInterval, 1); if (securityTokenCacheItem != null)
if (securityTokenCacheItem != null) {
{ throw new UserFriendlyException(L["SendRepeatPhoneVerifyCode", interval]);
throw new UserFriendlyException(L["SendRepeatPhoneVerifyCode", interval]); }
}
// 是否已有用户使用手机号绑定
// 是否已有用户使用手机号绑定 if (await UserRepository.IsPhoneNumberConfirmedAsync(input.NewPhoneNumber))
if (await UserRepository.IsPhoneNumberConfirmedAsync(input.NewPhoneNumber)) {
{ throw new BusinessException(IdentityErrorCodes.DuplicatePhoneNumber);
throw new BusinessException(IdentityErrorCodes.DuplicatePhoneNumber); }
} var user = await UserManager.GetByIdAsync(CurrentUser.GetId());
var user = await UserManager.GetByIdAsync(CurrentUser.GetId()); var template = await SettingProvider.GetOrNullAsync(Settings.IdentitySettingNames.User.SmsPhoneNumberConfirmed);
var template = await SettingProvider.GetOrNullAsync(Settings.IdentitySettingNames.User.SmsPhoneNumberConfirmed); var token = await UserManager.GenerateChangePhoneNumberTokenAsync(user, input.NewPhoneNumber);
var token = await UserManager.GenerateChangePhoneNumberTokenAsync(user, input.NewPhoneNumber); // 发送验证码
// 发送验证码 await SecurityCodeSender.SendPhoneConfirmedCodeAsync(input.NewPhoneNumber, token, template);
await SecurityCodeSender.SendPhoneConfirmedCodeAsync(input.NewPhoneNumber, token, template);
securityTokenCacheItem = new SmsSecurityTokenCacheItem(token, user.ConcurrencyStamp);
securityTokenCacheItem = new SmsSecurityTokenCacheItem(token, user.ConcurrencyStamp); await SecurityTokenCache
await SecurityTokenCache .SetAsync(securityTokenCacheKey, securityTokenCacheItem,
.SetAsync(securityTokenCacheKey, securityTokenCacheItem, new DistributedCacheEntryOptions
new DistributedCacheEntryOptions {
{ AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(interval)
AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(interval) });
}); }
}
public virtual async Task ChangePhoneNumberAsync(ChangePhoneNumberDto input)
public virtual async Task ChangePhoneNumberAsync(ChangePhoneNumberDto input) {
{ // 是否已有用户使用手机号绑定
// 是否已有用户使用手机号绑定 if (await UserRepository.IsPhoneNumberConfirmedAsync(input.NewPhoneNumber))
if (await UserRepository.IsPhoneNumberConfirmedAsync(input.NewPhoneNumber)) {
{ throw new BusinessException(IdentityErrorCodes.DuplicatePhoneNumber);
throw new BusinessException(IdentityErrorCodes.DuplicatePhoneNumber); }
} await IdentityOptions.SetAsync();
await IdentityOptions.SetAsync(); //TODO: 可以查询缓存用 securityTokenCacheItem.SecurityToken 与 user.SecurityStamp 作对比
//TODO: 可以查询缓存用 securityTokenCacheItem.SecurityToken 与 user.SecurityStamp 作对比 var user = await UserManager.GetByIdAsync(CurrentUser.GetId());
var user = await UserManager.GetByIdAsync(CurrentUser.GetId()); // 更换手机号
// 更换手机号 (await UserManager.ChangePhoneNumberAsync(user, input.NewPhoneNumber, input.Code)).CheckErrors();
(await UserManager.ChangePhoneNumberAsync(user, input.NewPhoneNumber, input.Code)).CheckErrors();
await CurrentUnitOfWork.SaveChangesAsync();
await CurrentUnitOfWork.SaveChangesAsync();
var securityTokenCacheKey = SmsSecurityTokenCacheItem.CalculateCacheKey(input.NewPhoneNumber, "SmsChangePhoneNumber");
var securityTokenCacheKey = SmsSecurityTokenCacheItem.CalculateCacheKey(input.NewPhoneNumber, "SmsChangePhoneNumber"); await SecurityTokenCache.RemoveAsync(securityTokenCacheKey);
await SecurityTokenCache.RemoveAsync(securityTokenCacheKey); }
} }
} }
}

Loading…
Cancel
Save