2

CLI に Spring Shell を使用しており、入力行からパスワードを読み取りたいと考えています。そのような目的のために、スプリング シェルには jline があるため、jline の公式ドキュメント [1] を使用すると、次のように提案されます。

public static void main(String[] args) throws IOException {
    String password = new ConsoleReader().readLine('*');
    System.out.println("My password is: "+password);
}

アプリケーションを起動すると、次のようになります。

mysecretpassword   << entered by myself 
****************   << masking from jline
My password is: mysecretpassword  << my output

だから私の質問は、パスワードを入力したときにとにかく表示された場合、パスワードをマスクする目的は何ですか? 入力中にパスワードを表示せずにUnixスタイルで実行する可能性はありますか?

[1] http://jline.sourceforge.net/#installation

4

2 に答える 2

1

質問に spring-shell のタグを付けましたが、マスクされた (パスワード) オプションのサポートに関する未解決の問題があります。

于 2014-11-29T16:57:07.307 に答える
0

それだけの価値があるため、Spring XD のようにこの機能を直接 (JLine をバイパスして) 実装しました: (参照UserInput.prompt()) https://github.com/spring-projects/spring-xd/blob/master/spring-xd-shell/src /main/java/org/springframework/xd/shell/command/ConsoleUserInput.java

于 2014-12-01T12:06:08.863 に答える