Browse Source

fix(oss): Repair minio bucket duplicate

pull/1165/head
colin 12 months ago
parent
commit
a6e5cdec06
  1. 3
      aspnet-core/modules/identity/LINGYUN.Abp.Identity.QrCode/LINGYUN/Abp/Identity/QrCode/QrCodeLoginProvider.cs
  2. 94
      aspnet-core/modules/oss-management/LINGYUN.Abp.BlobStoring.OssManagement/README.md
  3. 6
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi.Client/LINGYUN/Abp/OssManagement/AbpOssManagementHttpApiClientModule.cs
  4. 11
      aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Minio/LINGYUN/Abp/OssManagement/Minio/MinioOssContainer.cs
  5. 28
      aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/Routes/Route.cs

3
aspnet-core/modules/identity/LINGYUN.Abp.Identity.QrCode/LINGYUN/Abp/Identity/QrCode/QrCodeLoginProvider.cs

@ -153,4 +153,5 @@ public class QrCodeLoginProvider : IQrCodeLoginProvider, ITransientDependency
return await UserManager.GenerateUserTokenAsync(user,
QrCodeLoginProviderConsts.Name,
QrCodeLoginProviderConsts.Purpose);
}}
}
}

94
aspnet-core/modules/oss-management/LINGYUN.Abp.BlobStoring.OssManagement/README.md

@ -1,47 +1,47 @@
# LINGYUN.Abp.BlobStoring.OssManagement
abp框架对象存储提供者**IBlobProvider**的Oss管理模块实现
## 配置使用
模块按需引用, 依赖于OssManagement模块, 所以需要配置远端Oss管理模块的客户端代理
事先定义**appsettings.json**文件
```json
{
"OssManagement": {
"Bucket": "你定义的BucketName"
},
"RemoteServices": {
"AbpOssManagement": {
"BaseUrl": "http://127.0.0.1:30025",
"IdentityClient": "InternalServiceClient",
"UseCurrentAccessToken": false
}
},
"IdentityClients": {
"InternalServiceClient": {
"Authority": "http://127.0.0.1:44385",
"RequireHttps": false,
"GrantType": "client_credentials",
"Scope": "lingyun-abp-application",
"ClientId": "InternalServiceClient",
"ClientSecret": "1q2w3E*"
}
}
}
```
```csharp
[DependsOn(typeof(AbpBlobStoringOssManagementModule))]
public class YouProjectModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
var preActions = context.Services.GetPreConfigureActions<AbpBlobStoringOptions>();
# LINGYUN.Abp.BlobStoring.OssManagement
abp框架对象存储提供者**IBlobProvider**的Oss管理模块实现
## 配置使用
模块按需引用, 依赖于OssManagement模块, 所以需要配置远端Oss管理模块的客户端代理
事先定义**appsettings.json**文件
```json
{
"OssManagement": {
"Bucket": "你定义的BucketName"
},
"RemoteServices": {
"AbpOssManagement": {
"BaseUrl": "http://127.0.0.1:30025",
"IdentityClient": "InternalServiceClient",
"UseCurrentAccessToken": false
}
},
"IdentityClients": {
"InternalServiceClient": {
"Authority": "http://127.0.0.1:44385",
"RequireHttps": false,
"GrantType": "client_credentials",
"Scope": "lingyun-abp-application",
"ClientId": "InternalServiceClient",
"ClientSecret": "1q2w3E*"
}
}
}
```
```csharp
[DependsOn(typeof(AbpBlobStoringOssManagementModule))]
public class YouProjectModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
var configuration = context.Services.GetConfiguration();
var preActions = context.Services.GetPreConfigureActions<AbpBlobStoringOptions>();
Configure<AbpBlobStoringOptions>(options =>
{
preActions.Configure(options);
@ -64,6 +64,6 @@ public class YouProjectModule : AbpModule
});
});
});
}
}
```
}
}
```

6
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.HttpApi.Client/LINGYUN/Abp/OssManagement/AbpOssManagementHttpApiClientModule.cs

@ -1,6 +1,7 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Http.Client;
using Volo.Abp.Modularity;
using Volo.Abp.VirtualFileSystem;
namespace LINGYUN.Abp.OssManagement;
@ -15,5 +16,10 @@ public class AbpOssManagementHttpApiClientModule : AbpModule
typeof(AbpOssManagementApplicationContractsModule).Assembly,
OssManagementRemoteServiceConsts.RemoteServiceName
);
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<AbpOssManagementHttpApiClientModule>();
});
}
}

11
aspnet-core/modules/oss-management/LINGYUN.Abp.OssManagement.Minio/LINGYUN/Abp/OssManagement/Minio/MinioOssContainer.cs

@ -499,10 +499,13 @@ public class MinioOssContainer : OssContainerBase, IOssObjectExpireor
{
var configuration = ConfigurationProvider.Get<AbpOssManagementContainer>();
var minioConfiguration = configuration.GetMinioConfiguration();
return bucket.IsNullOrWhiteSpace()
? BlobNormalizeNamingService.NormalizeContainerName(configuration, minioConfiguration.BucketName!)
: BlobNormalizeNamingService.NormalizeContainerName(configuration, bucket);
var blobPath = minioConfiguration.BucketName;
if (string.Equals(bucket, blobPath, StringComparison.InvariantCultureIgnoreCase))
{
return bucket;
}
return bucket;
}
protected virtual string GetPrefixPath()

28
aspnet-core/modules/platform/LINGYUN.Platform.Domain/LINGYUN/Platform/Routes/Route.cs

@ -1,6 +1,8 @@
using JetBrains.Annotations;
using System;
using System.Collections.Generic;
using Volo.Abp;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
@ -58,6 +60,32 @@ public abstract class Route : FullAuditedAggregateRoot<Guid>, IMultiTenant
TenantId = tenantId;
}
public void WithRequiredFeatures(string[] features)
{
var requiresFeatures = features?.JoinAsString(",") ?? "";
this.SetProperty("RequiredFeatures", requiresFeatures);
}
public string[] GetRequiredFeatures()
{
var requiresFeaturesObj = this.GetProperty("RequiredFeatures");
return requiresFeaturesObj?.ToString()?.Split(",") ?? Array.Empty<string>();
}
public void WithRequiredPermissions(string[] permissions)
{
var requiresPermissions = permissions?.JoinAsString(",") ?? "";
this.SetProperty("RequiredPermissions", requiresPermissions);
}
public string[] GetRequiredPermissions()
{
var requiresPermissionsObj = this.GetProperty("RequiredPermissions");
return requiresPermissionsObj?.ToString()?.Split(",") ?? Array.Empty<string>();
}
public override int GetHashCode()
{
return Name.GetHashCode();

Loading…
Cancel
Save