皆さん、私はRoR内でjarファイルを実行しようとしています。SOのおかげで、IO::popen呼び出しを使用してjarファイルを実行することができました。
要件:-サイトにログインするには:当社の従業員にログインさせるため。そのJavaライブラリは、ユーザー名/パスワードが有効である場合にいくつかの魔法と数字を実行します。私が使ったのは、
result = IO::popen("java -cp auth.jar com.name.auth.LDAPLookup " + params[:username] + " " + params[:password]).read
p result
出力:["Authorized"、 "email"、 "id"]
- 入力サニタイズは行われません。これは危険です。誰でもユーザー名/パスワードに何かを入力することができ、それはサーバーで実行されます。
これを行う方法がわかりません。私が試したいオプションの1つは、fork()またはProcess APIを使用して「java」を起動し、引数を渡すことです。しかし、理解できませんでした。他に何か考えはありますか?