mirror of
https://github.com/casdoor/casdoor.git
synced 2025-05-23 02:35:49 +08:00
Add IntranetEndpoint to provider.
This commit is contained in:
parent
c8b8488797
commit
dc9d2389a5
@ -8,6 +8,7 @@ dataSourceName = root:123456@tcp(localhost:3306)/
|
||||
dbName = casdoor
|
||||
redisEndpoint =
|
||||
defaultStorageProvider =
|
||||
isCloudIntranet = false
|
||||
authState = "casdoor"
|
||||
httpProxy = "127.0.0.1:10808"
|
||||
verificationCodeTimeout = 10
|
||||
|
@ -43,9 +43,10 @@ type Provider struct {
|
||||
TemplateCode string `xorm:"varchar(100)" json:"templateCode"`
|
||||
AppId string `xorm:"varchar(100)" json:"appId"`
|
||||
|
||||
Endpoint string `xorm:"varchar(100)" json:"endpoint"`
|
||||
Domain string `xorm:"varchar(100)" json:"domain"`
|
||||
Bucket string `xorm:"varchar(100)" json:"bucket"`
|
||||
Endpoint string `xorm:"varchar(100)" json:"endpoint"`
|
||||
IntranetEndpoint string `xorm:"varchar(100)" json:"intranetEndpoint"`
|
||||
Domain string `xorm:"varchar(100)" json:"domain"`
|
||||
Bucket string `xorm:"varchar(100)" json:"bucket"`
|
||||
|
||||
ProviderUrl string `xorm:"varchar(200)" json:"providerUrl"`
|
||||
}
|
||||
|
@ -19,10 +19,29 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/astaxie/beego"
|
||||
"github.com/casbin/casdoor/storage"
|
||||
"github.com/casbin/casdoor/util"
|
||||
)
|
||||
|
||||
var isCloudIntranet bool
|
||||
|
||||
func init() {
|
||||
var err error
|
||||
isCloudIntranet, err = beego.AppConfig.Bool("isCloudIntranet")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func getProviderEndpoint(provider *Provider) string {
|
||||
endpoint := provider.Endpoint
|
||||
if provider.IntranetEndpoint != "" && isCloudIntranet {
|
||||
endpoint = provider.IntranetEndpoint
|
||||
}
|
||||
return endpoint
|
||||
}
|
||||
|
||||
func getUploadFileUrl(provider *Provider, fullFilePath string, hasTimestamp bool) (string, string) {
|
||||
objectKey := util.UrlJoin(util.GetUrlPath(provider.Domain), fullFilePath)
|
||||
|
||||
@ -47,7 +66,8 @@ func getUploadFileUrl(provider *Provider, fullFilePath string, hasTimestamp bool
|
||||
}
|
||||
|
||||
func uploadFile(provider *Provider, fullFilePath string, fileBuffer *bytes.Buffer) (string, string, error) {
|
||||
storageProvider := storage.GetStorageProvider(provider.Type, provider.ClientId, provider.ClientSecret, provider.RegionId, provider.Bucket, provider.Endpoint)
|
||||
endpoint := getProviderEndpoint(provider)
|
||||
storageProvider := storage.GetStorageProvider(provider.Type, provider.ClientId, provider.ClientSecret, provider.RegionId, provider.Bucket, endpoint)
|
||||
if storageProvider == nil {
|
||||
return "", "", fmt.Errorf("the provider type: %s is not supported", provider.Type)
|
||||
}
|
||||
@ -87,7 +107,8 @@ func UploadFileSafe(provider *Provider, fullFilePath string, fileBuffer *bytes.B
|
||||
}
|
||||
|
||||
func DeleteFile(provider *Provider, objectKey string) error {
|
||||
storageProvider := storage.GetStorageProvider(provider.Type, provider.ClientId, provider.ClientSecret, provider.RegionId, provider.Bucket, provider.Endpoint)
|
||||
endpoint := getProviderEndpoint(provider)
|
||||
storageProvider := storage.GetStorageProvider(provider.Type, provider.ClientId, provider.ClientSecret, provider.RegionId, provider.Bucket, endpoint)
|
||||
if storageProvider == nil {
|
||||
return fmt.Errorf("the provider type: %s is not supported", provider.Type)
|
||||
}
|
||||
|
@ -272,7 +272,7 @@ class ProviderEditPage extends React.Component {
|
||||
<div>
|
||||
<Row style={{marginTop: '20px'}} >
|
||||
<Col style={{marginTop: '5px'}} span={2}>
|
||||
{Setting.getLabel(i18next.t("provider:Endpoint"), i18next.t("provider:Endpoint - Tooltip"))} :
|
||||
{Setting.getLabel(i18next.t("provider:Endpoint"), i18next.t("provider:Region endpoint for Internet"))} :
|
||||
</Col>
|
||||
<Col span={22} >
|
||||
<Input value={this.state.provider.endpoint} onChange={e => {
|
||||
@ -280,6 +280,16 @@ class ProviderEditPage extends React.Component {
|
||||
}} />
|
||||
</Col>
|
||||
</Row>
|
||||
<Row style={{marginTop: '20px'}} >
|
||||
<Col style={{marginTop: '5px'}} span={2}>
|
||||
{Setting.getLabel(i18next.t("provider:Endpoint (Intranet)"), i18next.t("provider:Region endpoint for Intranet"))} :
|
||||
</Col>
|
||||
<Col span={22} >
|
||||
<Input value={this.state.provider.intranetEndpoint} onChange={e => {
|
||||
this.updateProviderField('intranetEndpoint', e.target.value);
|
||||
}} />
|
||||
</Col>
|
||||
</Row>
|
||||
<Row style={{marginTop: '20px'}} >
|
||||
<Col style={{marginTop: '5px'}} span={2}>
|
||||
{Setting.getLabel(i18next.t("provider:Bucket"), i18next.t("provider:Bucket - Tooltip"))} :
|
||||
|
@ -168,13 +168,13 @@ class ResourceListPage extends React.Component {
|
||||
width: '80px',
|
||||
sorter: (a, b) => a.tag.localeCompare(b.tag),
|
||||
},
|
||||
{
|
||||
title: i18next.t("resource:File name"),
|
||||
dataIndex: 'fileName',
|
||||
key: 'fileName',
|
||||
width: '120px',
|
||||
sorter: (a, b) => a.fileName.localeCompare(b.fileName),
|
||||
},
|
||||
// {
|
||||
// title: i18next.t("resource:File name"),
|
||||
// dataIndex: 'fileName',
|
||||
// key: 'fileName',
|
||||
// width: '120px',
|
||||
// sorter: (a, b) => a.fileName.localeCompare(b.fileName),
|
||||
// },
|
||||
{
|
||||
title: i18next.t("resource:Type"),
|
||||
dataIndex: 'fileType',
|
||||
|
@ -214,7 +214,7 @@
|
||||
"Email Title": "Email Title",
|
||||
"Email Title - Tooltip": "Unique string-style identifier",
|
||||
"Endpoint": "Endpoint",
|
||||
"Endpoint - Tooltip": "Storage bucket endpoint",
|
||||
"Endpoint (Intranet)": "Endpoint (Intranet)",
|
||||
"Host": "Host",
|
||||
"Host - Tooltip": "Unique string-style identifier",
|
||||
"Method": "Method",
|
||||
@ -226,6 +226,8 @@
|
||||
"Provider URL - Tooltip": "Unique string-style identifier",
|
||||
"Region ID": "Region ID",
|
||||
"Region ID - Tooltip": "Region ID - Tooltip",
|
||||
"Region endpoint for Internet": "Region endpoint for Internet",
|
||||
"Region endpoint for Intranet": "Region endpoint for Intranet",
|
||||
"Secret access key": "Secret access key",
|
||||
"SecretAccessKey - Tooltip": "SecretAccessKey - Tooltip",
|
||||
"Sign Name": "Sign Name",
|
||||
|
@ -214,7 +214,7 @@
|
||||
"Email Title": "Email Title",
|
||||
"Email Title - Tooltip": "Email Title - Tooltip",
|
||||
"Endpoint": "Endpoint",
|
||||
"Endpoint - Tooltip": "Endpoint - Tooltip",
|
||||
"Endpoint (Intranet)": "Endpoint (Intranet)",
|
||||
"Host": "Host",
|
||||
"Host - Tooltip": "Host - Tooltip",
|
||||
"Method": "Method",
|
||||
@ -226,6 +226,8 @@
|
||||
"Provider URL - Tooltip": "Provider URL - Tooltip",
|
||||
"Region ID": "Region ID",
|
||||
"Region ID - Tooltip": "Region ID - Tooltip",
|
||||
"Region endpoint for Internet": "Region endpoint for Internet",
|
||||
"Region endpoint for Intranet": "Region endpoint for Intranet",
|
||||
"Secret access key": "Secret access key",
|
||||
"SecretAccessKey - Tooltip": "SecretAccessKey - Tooltip",
|
||||
"Sign Name": "Sign Name",
|
||||
|
@ -214,7 +214,7 @@
|
||||
"Email Title": "Email Title",
|
||||
"Email Title - Tooltip": "Unique string-style identifier",
|
||||
"Endpoint": "Endpoint",
|
||||
"Endpoint - Tooltip": "Storage bucket endpoint",
|
||||
"Endpoint (Intranet)": "Endpoint (Intranet)",
|
||||
"Host": "Host",
|
||||
"Host - Tooltip": "Unique string-style identifier",
|
||||
"Method": "Method",
|
||||
@ -226,6 +226,8 @@
|
||||
"Provider URL - Tooltip": "Unique string-style identifier",
|
||||
"Region ID": "Region ID",
|
||||
"Region ID - Tooltip": "Region ID - Tooltip",
|
||||
"Region endpoint for Internet": "Region endpoint for Internet",
|
||||
"Region endpoint for Intranet": "Region endpoint for Intranet",
|
||||
"Secret access key": "Secret access key",
|
||||
"SecretAccessKey - Tooltip": "SecretAccessKey - Tooltip",
|
||||
"Sign Name": "Sign Name",
|
||||
|
@ -214,7 +214,7 @@
|
||||
"Email Title": "Email Title",
|
||||
"Email Title - Tooltip": "Unique string-style identifier",
|
||||
"Endpoint": "Endpoint",
|
||||
"Endpoint - Tooltip": "Storage bucket endpoint",
|
||||
"Endpoint (Intranet)": "Endpoint (Intranet)",
|
||||
"Host": "Host",
|
||||
"Host - Tooltip": "Unique string-style identifier",
|
||||
"Method": "Method",
|
||||
@ -226,6 +226,8 @@
|
||||
"Provider URL - Tooltip": "Unique string-style identifier",
|
||||
"Region ID": "Region ID",
|
||||
"Region ID - Tooltip": "Region ID - Tooltip",
|
||||
"Region endpoint for Internet": "Region endpoint for Internet",
|
||||
"Region endpoint for Intranet": "Region endpoint for Intranet",
|
||||
"Secret access key": "Secret access key",
|
||||
"SecretAccessKey - Tooltip": "SecretAccessKey - Tooltip",
|
||||
"Sign Name": "Sign Name",
|
||||
|
@ -214,7 +214,7 @@
|
||||
"Email Title": "Email Title",
|
||||
"Email Title - Tooltip": "Unique string-style identifier",
|
||||
"Endpoint": "Endpoint",
|
||||
"Endpoint - Tooltip": "Storage bucket endpoint",
|
||||
"Endpoint (Intranet)": "Endpoint (Intranet)",
|
||||
"Host": "Host",
|
||||
"Host - Tooltip": "Unique string-style identifier",
|
||||
"Method": "Method",
|
||||
@ -226,6 +226,8 @@
|
||||
"Provider URL - Tooltip": "Unique string-style identifier",
|
||||
"Region ID": "Region ID",
|
||||
"Region ID - Tooltip": "Region ID - Tooltip",
|
||||
"Region endpoint for Internet": "Region endpoint for Internet",
|
||||
"Region endpoint for Intranet": "Region endpoint for Intranet",
|
||||
"Secret access key": "Secret access key",
|
||||
"SecretAccessKey - Tooltip": "SecretAccessKey - Tooltip",
|
||||
"Sign Name": "Sign Name",
|
||||
|
@ -214,7 +214,7 @@
|
||||
"Email Title": "Email Title",
|
||||
"Email Title - Tooltip": "Unique string-style identifier",
|
||||
"Endpoint": "Endpoint",
|
||||
"Endpoint - Tooltip": "Storage bucket endpoint",
|
||||
"Endpoint (Intranet)": "Endpoint (Intranet)",
|
||||
"Host": "Host",
|
||||
"Host - Tooltip": "Unique string-style identifier",
|
||||
"Method": "Method",
|
||||
@ -226,6 +226,8 @@
|
||||
"Provider URL - Tooltip": "Unique string-style identifier",
|
||||
"Region ID": "Region ID",
|
||||
"Region ID - Tooltip": "Region ID - Tooltip",
|
||||
"Region endpoint for Internet": "Region endpoint for Internet",
|
||||
"Region endpoint for Intranet": "Region endpoint for Intranet",
|
||||
"Secret access key": "Secret access key",
|
||||
"SecretAccessKey - Tooltip": "SecretAccessKey - Tooltip",
|
||||
"Sign Name": "Sign Name",
|
||||
|
@ -213,8 +213,8 @@
|
||||
"Email Content - Tooltip": "邮件内容",
|
||||
"Email Title": "邮件标题",
|
||||
"Email Title - Tooltip": "邮件标题",
|
||||
"Endpoint": "Endpoint",
|
||||
"Endpoint - Tooltip": "地域节点地址",
|
||||
"Endpoint": "地域节点 (外网)",
|
||||
"Endpoint (Intranet)": "地域节点 (内网)",
|
||||
"Host": "主机",
|
||||
"Host - Tooltip": "主机",
|
||||
"Method": "方式",
|
||||
@ -226,6 +226,8 @@
|
||||
"Provider URL - Tooltip": "提供商URL",
|
||||
"Region ID": "地域ID",
|
||||
"Region ID - Tooltip": "地域ID",
|
||||
"Region endpoint for Internet": "地域节点 (外网)",
|
||||
"Region endpoint for Intranet": "地域节点 (内网)",
|
||||
"Secret access key": "Secret access key",
|
||||
"SecretAccessKey - Tooltip": "SecretAccessKey - Tooltip",
|
||||
"Sign Name": "签名名称",
|
||||
|
Loading…
x
Reference in New Issue
Block a user