Compare commits
3 Commits
0582390b2c
...
55cbbffba6
| Author | SHA1 | Date |
|---|---|---|
|
|
55cbbffba6 | |
|
|
4a1bf759cf | |
|
|
703ab03b7f |
|
|
@ -143,44 +143,49 @@ namespace IRaCIS.Api.Controllers
|
||||||
|
|
||||||
if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedEnum) && parsedEnum == ObjectStoreUse.AliyunOSS)
|
if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedEnum) && parsedEnum == ObjectStoreUse.AliyunOSS)
|
||||||
{
|
{
|
||||||
|
|
||||||
var ossOptions = serviceOption.AliyunOSS;
|
var ossOptions = serviceOption.AliyunOSS;
|
||||||
|
|
||||||
IClientProfile profile = DefaultProfile.GetProfile(ossOptions.RegionId, ossOptions.AccessKeyId, ossOptions.AccessKeySecret);
|
return ResponseOutput.Ok(new ObjectStoreDTO() { ObjectStoreUse = serviceOption.ObjectStoreUse, MinIO = serviceOption.MinIO ,AliyunOSS= serviceOption.AliyunOSS });
|
||||||
DefaultAcsClient client = new DefaultAcsClient(profile);
|
|
||||||
|
#region 临时token 屏蔽
|
||||||
|
//IClientProfile profile = DefaultProfile.GetProfile(ossOptions.RegionId, ossOptions.AccessKeyId, ossOptions.AccessKeySecret);
|
||||||
|
//DefaultAcsClient client = new DefaultAcsClient(profile);
|
||||||
|
|
||||||
|
|
||||||
// 创建一个STS请求
|
//// 创建一个STS请求
|
||||||
AssumeRoleRequest request = new AssumeRoleRequest
|
//AssumeRoleRequest request = new AssumeRoleRequest
|
||||||
{
|
//{
|
||||||
RoleArn = ossOptions.RoleArn, // 角色ARN,需要替换为你的角色ARN
|
// RoleArn = ossOptions.RoleArn, // 角色ARN,需要替换为你的角色ARN
|
||||||
RoleSessionName = $"session-name-{NewId.NextGuid()}", // 角色会话名称,可自定义
|
// RoleSessionName = $"session-name-{NewId.NextGuid()}", // 角色会话名称,可自定义
|
||||||
DurationSeconds = 900, // 令牌有效期(单位:秒),这里设置为1小时
|
// DurationSeconds = 900, // 令牌有效期(单位:秒),这里设置为1小时
|
||||||
};
|
//};
|
||||||
|
|
||||||
|
|
||||||
AssumeRoleResponse response = client.GetAcsResponse(request);
|
//AssumeRoleResponse response = client.GetAcsResponse(request);
|
||||||
|
|
||||||
// 返回STS令牌信息给前端
|
//// 返回STS令牌信息给前端
|
||||||
var stsToken = new ObjectStoreDTO()
|
//var stsToken = new ObjectStoreDTO()
|
||||||
{
|
//{
|
||||||
ObjectStoreUse = serviceOption.ObjectStoreUse,
|
// ObjectStoreUse = serviceOption.ObjectStoreUse,
|
||||||
AliyunOSS = new AliyunOSSTempToken()
|
// AliyunOSS = new AliyunOSSTempToken()
|
||||||
{
|
// {
|
||||||
AccessKeyId = response.Credentials.AccessKeyId,
|
// AccessKeyId = response.Credentials.AccessKeyId,
|
||||||
AccessKeySecret = response.Credentials.AccessKeySecret,
|
// AccessKeySecret = response.Credentials.AccessKeySecret,
|
||||||
SecurityToken = response.Credentials.SecurityToken,
|
// SecurityToken = response.Credentials.SecurityToken,
|
||||||
Expiration = response.Credentials.Expiration,
|
// Expiration = response.Credentials.Expiration,
|
||||||
|
|
||||||
Region = ossOptions.Region,
|
// Region = ossOptions.Region,
|
||||||
BucketName = ossOptions.BucketName,
|
// BucketName = ossOptions.BucketName,
|
||||||
ViewEndpoint = ossOptions.ViewEndpoint,
|
// ViewEndpoint = ossOptions.ViewEndpoint,
|
||||||
|
|
||||||
},
|
// },
|
||||||
MinIO = serviceOption.MinIO
|
// MinIO = serviceOption.MinIO
|
||||||
}
|
//};
|
||||||
;
|
//return ResponseOutput.Ok(stsToken);
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
return ResponseOutput.Ok(stsToken);
|
|
||||||
}
|
}
|
||||||
else if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedValue) && parsedValue == ObjectStoreUse.MinIO)
|
else if (Enum.TryParse<ObjectStoreUse>(serviceOption.ObjectStoreUse, out var parsedValue) && parsedValue == ObjectStoreUse.MinIO)
|
||||||
{
|
{
|
||||||
|
|
@ -199,14 +204,14 @@ namespace IRaCIS.Api.Controllers
|
||||||
var ossOptions = options.CurrentValue;
|
var ossOptions = options.CurrentValue;
|
||||||
|
|
||||||
|
|
||||||
IClientProfile profile = DefaultProfile.GetProfile(ossOptions.RegionId, ossOptions.AccessKeyId, ossOptions.AccessKeySecret);
|
IClientProfile profile = DefaultProfile.GetProfile(ossOptions.regionId, ossOptions.accessKeyId, ossOptions.accessKeySecret);
|
||||||
DefaultAcsClient client = new DefaultAcsClient(profile);
|
DefaultAcsClient client = new DefaultAcsClient(profile);
|
||||||
|
|
||||||
|
|
||||||
// 创建一个STS请求
|
// 创建一个STS请求
|
||||||
AssumeRoleRequest request = new AssumeRoleRequest
|
AssumeRoleRequest request = new AssumeRoleRequest
|
||||||
{
|
{
|
||||||
RoleArn = ossOptions.RoleArn, // 角色ARN,需要替换为你的角色ARN
|
RoleArn = ossOptions.roleArn, // 角色ARN,需要替换为你的角色ARN
|
||||||
RoleSessionName = $"session-name-{NewId.NextGuid()}", // 角色会话名称,可自定义
|
RoleSessionName = $"session-name-{NewId.NextGuid()}", // 角色会话名称,可自定义
|
||||||
DurationSeconds = 900, // 令牌有效期(单位:秒),这里设置为1小时
|
DurationSeconds = 900, // 令牌有效期(单位:秒),这里设置为1小时
|
||||||
};
|
};
|
||||||
|
|
@ -222,9 +227,9 @@ namespace IRaCIS.Api.Controllers
|
||||||
SecurityToken = response.Credentials.SecurityToken,
|
SecurityToken = response.Credentials.SecurityToken,
|
||||||
Expiration = response.Credentials.Expiration,
|
Expiration = response.Credentials.Expiration,
|
||||||
|
|
||||||
Region = ossOptions.Region,
|
Region = ossOptions.region ,
|
||||||
BucketName = ossOptions.BucketName,
|
BucketName = ossOptions.bucketName ,
|
||||||
ViewEndpoint = ossOptions.ViewEndpoint,
|
ViewEndpoint = ossOptions.viewEndpoint ,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,16 +6,31 @@
|
||||||
"Microsoft.Hosting.Lifetime": "Information"
|
"Microsoft.Hosting.Lifetime": "Information"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"AliyunOSS": {
|
"ObjectStoreService": {
|
||||||
"regionId": "cn-shanghai",
|
|
||||||
"region": "oss-cn-shanghai",
|
"ObjectStoreUse": "AliyunOSS",
|
||||||
"endpoint": "https://oss-cn-shanghai.aliyuncs.com",
|
|
||||||
"accessKeyId": "LTAI5tKvzs7ed3UfSpNk3xwQ",
|
"AliyunOSS": {
|
||||||
"accessKeySecret": "zTIceGEShlZDGnLrCFfIGFE7TXVRio",
|
"regionId": "cn-shanghai",
|
||||||
"bucketName": "zy-sir-test-store",
|
"endpoint": "https://oss-cn-shanghai.aliyuncs.com",
|
||||||
"RoleArn": "acs:ram::1899121822495495:role/oss-upload",
|
"accessKeyId": "LTAI5tKvzs7ed3UfSpNk3xwQ",
|
||||||
"viewEndpoint": "https://zy-sir-test-store.oss-cn-shanghai.aliyuncs.com"
|
"accessKeySecret": "zTIceGEShlZDGnLrCFfIGFE7TXVRio",
|
||||||
|
"bucketName": "zy-sir-test-store",
|
||||||
|
"roleArn": "acs:ram::1899121822495495:role/oss-upload",
|
||||||
|
"viewEndpoint": "https://zy-sir-test-store.oss-cn-shanghai.aliyuncs.com",
|
||||||
|
"region": "oss-cn-shanghai"
|
||||||
|
},
|
||||||
|
|
||||||
|
"MinIO": {
|
||||||
|
"endpoint": "http://192.168.3.68",
|
||||||
|
"port": "8001",
|
||||||
|
"useSSL": false,
|
||||||
|
"accessKey": "IDFkwEpWej0b4DtiuThL",
|
||||||
|
"secretKey": "Lhuu83yMhVwu7c1SnjvGY6lq74jzpYqifK6Qtj4h",
|
||||||
|
"bucketName": "test"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
"ConnectionStrings": {
|
"ConnectionStrings": {
|
||||||
"RemoteNew": "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Test.Study;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true",
|
"RemoteNew": "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Test.Study;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true",
|
||||||
"Hangfire": "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Test.Study.hangfire;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"
|
"Hangfire": "Server=123.56.94.154,1433\\MSSQLSERVER;Database=Test.Study.hangfire;User ID=sa;Password=dev123456DEV;TrustServerCertificate=true"
|
||||||
|
|
|
||||||
|
|
@ -18,27 +18,27 @@ namespace IRaCIS.Core.Application.Helper
|
||||||
{
|
{
|
||||||
public class MinIOOptions
|
public class MinIOOptions
|
||||||
{
|
{
|
||||||
public string Endpoint { get; set; }
|
public string endpoint { get; set; }
|
||||||
public string Port { get; set; }
|
public string port { get; set; }
|
||||||
public bool UseSSL { get; set; }
|
public bool useSSL { get; set; }
|
||||||
public string AccessKey { get; set; }
|
public string accessKey { get; set; }
|
||||||
public string SecretKey { get; set; }
|
public string secretKey { get; set; }
|
||||||
public string BucketName { get; set; }
|
public string bucketName { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AliyunOSSOptions
|
public class AliyunOSSOptions
|
||||||
{
|
{
|
||||||
public string RegionId { get; set; }
|
public string regionId { get; set; }
|
||||||
public string AccessKeyId { get; set; }
|
public string accessKeyId { get; set; }
|
||||||
public string AccessKeySecret { get; set; }
|
public string accessKeySecret { get; set; }
|
||||||
public string EndPoint { get; set; }
|
public string endPoint { get; set; }
|
||||||
public string BucketName { get; set; }
|
public string bucketName { get; set; }
|
||||||
|
|
||||||
public string RoleArn { get; set; }
|
public string roleArn { get; set; }
|
||||||
|
|
||||||
public string Region { get; set; }
|
public string region { get; set; }
|
||||||
|
|
||||||
public string ViewEndpoint { get; set; }
|
public string viewEndpoint { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -53,7 +53,8 @@ namespace IRaCIS.Core.Application.Helper
|
||||||
public class ObjectStoreDTO
|
public class ObjectStoreDTO
|
||||||
{
|
{
|
||||||
public string ObjectStoreUse { get; set; }
|
public string ObjectStoreUse { get; set; }
|
||||||
public AliyunOSSTempToken AliyunOSS { get; set; }
|
|
||||||
|
public AliyunOSSOptions AliyunOSS { get; set; }
|
||||||
|
|
||||||
public MinIOOptions MinIO { get; set; }
|
public MinIOOptions MinIO { get; set; }
|
||||||
|
|
||||||
|
|
@ -109,7 +110,7 @@ namespace IRaCIS.Core.Application.Helper
|
||||||
|
|
||||||
_OSSConfig = ossOptions;
|
_OSSConfig = ossOptions;
|
||||||
|
|
||||||
_ossClient = new OssClient(_OSSConfig.EndPoint, _OSSConfig.AccessKeyId, _OSSConfig.AccessKeySecret);
|
_ossClient = new OssClient(_OSSConfig.endPoint, _OSSConfig.accessKeyId, _OSSConfig.accessKeySecret);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -137,7 +138,7 @@ namespace IRaCIS.Core.Application.Helper
|
||||||
memoryStream.Seek(0, SeekOrigin.Begin);
|
memoryStream.Seek(0, SeekOrigin.Begin);
|
||||||
|
|
||||||
// 上传文件
|
// 上传文件
|
||||||
var result = _ossClient.PutObject(_OSSConfig.BucketName, ossRelativePath, memoryStream);
|
var result = _ossClient.PutObject(_OSSConfig.bucketName, ossRelativePath, memoryStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -167,7 +168,7 @@ namespace IRaCIS.Core.Application.Helper
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
// 上传文件
|
// 上传文件
|
||||||
var result = _ossClient.PutObject(_OSSConfig.BucketName, ossRelativePath, localFilePath);
|
var result = _ossClient.PutObject(_OSSConfig.bucketName, ossRelativePath, localFilePath);
|
||||||
|
|
||||||
return ossRelativePath;
|
return ossRelativePath;
|
||||||
}
|
}
|
||||||
|
|
@ -182,7 +183,7 @@ namespace IRaCIS.Core.Application.Helper
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var result = _ossClient.GetObject(_OSSConfig.BucketName, ossRelativePath);
|
var result = _ossClient.GetObject(_OSSConfig.bucketName, ossRelativePath);
|
||||||
|
|
||||||
// 将下载的文件流保存到本地文件
|
// 将下载的文件流保存到本地文件
|
||||||
using (var fs = File.OpenWrite(localFilePath))
|
using (var fs = File.OpenWrite(localFilePath))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue