SFTP Spring集成问题2 *用户名*的身份验证失败太多

时间:2017-10-13 10:18:40

标签: java spring spring-integration ftps spring-integration-sftp

我们有一个SFTP服务器,我们在这个服务器上读取文件特定文件夹。我使用基于用户/密码的身份验证我还需要在DefaultSftpSessionFactory中提供一些其他属性。 以下是我的配置。

class SecUser {

Long id
String username
String password
boolean enabled
boolean accountExpired
boolean accountLocked
boolean passwordExpired
String sifpartnera
Long dodadresaid
String sifosobe
Long coid
String langid


static constraints = {
    id(blank: false)
    username blank: false, unique: true, email: true
    password nullable: true
    enabled()
    accountExpired()
    accountLocked()
    passwordExpired()
    sifpartnera nullable: true
    dodadresaid nullable: true
    sifosobe nullable: true
    coid nullable: true
    langid nullable: true
}

static mapping = {
    version false
    table name: "sec_user", schema: "public"
    password column: '`password`'
    id generator: 'sequence', column: 'id'
}
}

它的工作时间很好但间歇性地给出了以下错误。

<beans:bean id="sftpSessionFactory"
    class="org.springframework.integration.sftp.session.DefaultSftpSessionFactory">
    <beans:property name="host" value="${turboFtp.host}" />
    <beans:property name="allowUnknownKeys" value="true" />
    <beans:property name="user" value="${turboFtp.username}" />
    <beans:property name="password"
        value="#{ftpdecrypter.decryptPassword()}" />
</beans:bean>

<beans:bean id="ftpdecrypter"
    class="com.deere.calibrateddevices.config.FTPPasswordDecryptConfig">
</beans:bean>

<int-sftp:inbound-streaming-channel-adapter
    id="sftpTurboHoneywellAdapter" channel="turboReceiveChannel"
    session-factory="sftpSessionFactory" filename-regex="^.*\.(dat|DAT)$"
    remote-file-separator="/" remote-directory-expression="'${turboXMLFileFtpServerLoc}'"
    auto-startup="true">
    <int:poller fixed-rate="${turboPollarInterval}"
        max-messages-per-poll="1" />
</int-sftp:inbound-streaming-channel-adapter>

<int:channel id="sftpOutboundChannel" />

<int-sftp:outbound-gateway command="rm"
    reply-channel="nullChannel" session-factory="sftpSessionFactory"
    request-channel="sftpOutboundChannel" remote-file-separator="/"
    expression="headers['file_remoteDirectory'] + headers['file_remoteFile']">
</int-sftp:outbound-gateway>

<integration:service-activator id="calibratedDataServiceActivator"
    input-channel="turboReceiveChannel" ref="turboFtpFileProcessor"
    method="processTurboCalibratedDeviceFile" />

我不确定导致此问题的原因。是否存在SFTP SpringIntegration配置问题?我是否还需要在DefaultSftpSessionFactory类中提供其他一些属性?或者SFTP服务器有什么问题吗? 任何人都可以指导我解决这个问题。

1 个答案:

答案 0 :(得分:0)

失败的原因是用户ID在服务器上被阻止。释放阻止其工作正常。