mirror of
https://github.com/TermoraDev/termora.git
synced 2026-01-15 18:02:58 +08:00
feat: add domain field to SMB host options
This commit is contained in:
@@ -2,7 +2,7 @@ plugins {
|
||||
alias(libs.plugins.kotlin.jvm)
|
||||
}
|
||||
|
||||
project.version = "0.0.3"
|
||||
project.version = "0.0.4"
|
||||
|
||||
dependencies {
|
||||
testImplementation(kotlin("test"))
|
||||
|
||||
@@ -42,6 +42,7 @@ class SMBHostOptionsPane : OptionsPane() {
|
||||
sftpDefaultDirectory = sftpOption.defaultDirectoryField.text,
|
||||
extras = mutableMapOf(
|
||||
"smb.share" to generalOption.shareTextField.text,
|
||||
"smb.domain" to generalOption.domainTextField.text,
|
||||
)
|
||||
)
|
||||
|
||||
@@ -66,6 +67,7 @@ class SMBHostOptionsPane : OptionsPane() {
|
||||
generalOption.remarkTextArea.text = host.remark
|
||||
generalOption.passwordTextField.text = host.authentication.password
|
||||
generalOption.shareTextField.text = host.options.extras["smb.share"] ?: StringUtils.EMPTY
|
||||
generalOption.domainTextField.text = host.options.extras["smb.domain"] ?: StringUtils.EMPTY
|
||||
|
||||
sftpOption.defaultDirectoryField.text = host.options.sftpDefaultDirectory
|
||||
}
|
||||
@@ -114,6 +116,7 @@ class SMBHostOptionsPane : OptionsPane() {
|
||||
val nameTextField = OutlineTextField(128)
|
||||
val shareTextField = OutlineTextField(256)
|
||||
val usernameTextField = OutlineComboBox<String>()
|
||||
val domainTextField = OutlineTextField(128)
|
||||
val hostTextField = OutlineTextField(255)
|
||||
val passwordTextField = OutlinePasswordField(255)
|
||||
val remarkTextArea = FixedLengthTextArea(512)
|
||||
@@ -188,7 +191,9 @@ class SMBHostOptionsPane : OptionsPane() {
|
||||
.add(portTextField).xy(7, rows).apply { rows += step }
|
||||
|
||||
.add("${I18n.getString("termora.new-host.general.username")}:").xy(1, rows)
|
||||
.add(usernameTextField).xyw(3, rows, 5).apply { rows += step }
|
||||
.add(usernameTextField).xy(3, rows)
|
||||
.add("${SMBI18n.getString("termora.plugins.smb.domain")}:").xy(5, rows)
|
||||
.add(domainTextField).xy(7, rows).apply { rows += step }
|
||||
|
||||
.add("${I18n.getString("termora.new-host.general.password")}:").xy(1, rows)
|
||||
.add(passwordTextField).xyw(3, rows, 5).apply { rows += step }
|
||||
|
||||
@@ -30,6 +30,7 @@ class SMBProtocolProvider private constructor() : TransferProtocolProvider {
|
||||
val client = SMBClient()
|
||||
val host = requester.host
|
||||
val connection = client.connect(host.host, host.port)
|
||||
val domain = host.options.extras["smb.domain"] ?: StringUtils.EMPTY
|
||||
val session = when (host.username) {
|
||||
"Guest" -> connection.authenticate(AuthenticationContext.guest())
|
||||
"Anonymous" -> connection.authenticate(AuthenticationContext.anonymous())
|
||||
@@ -37,7 +38,7 @@ class SMBProtocolProvider private constructor() : TransferProtocolProvider {
|
||||
AuthenticationContext(
|
||||
host.username,
|
||||
host.authentication.password.toCharArray(),
|
||||
null
|
||||
domain.ifBlank { null }
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
termora.plugins.smb.share=Share name
|
||||
termora.plugins.smb.domain=Domain
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
termora.plugins.smb.share=共享名称
|
||||
termora.plugins.smb.domain=域名
|
||||
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
termora.plugins.smb.share=共享名稱
|
||||
termora.plugins.smb.domain=網域
|
||||
|
||||
|
||||
Reference in New Issue
Block a user