Windowsサーバー上で動作するレガシーアプリケーションをJavaで書き換えて置きたいと思っています。このアプリケーションは、Windows Impersonation APIを使用して、多数のWindowsサーバーに接続しています(別のサービスをインストールすることはできません。変更することは不可能です)。Windows偽装Java * nix
私は2つのライブラリJNAとWaffleを用意しました。私の理解では、WaffleはJNAを使用し、JNAはJavaコードからWindows APIへの呼び出しを提供します。
私のJavaアプリケーションは明らかにwin32 apiを持っていないredhatサーバ上で動作します。 Impersonation APIの* nixバインディングはありますか?少なくとも私はそのバインディングを介してJNIを書くことを検討するかもしれません。
私はMonoとWineが異なるプラットフォームで同様の抽象概念を提供するので、方法があるべきだと思います。
*「Windowsサーバー上で実行されているレガシーアプリケーションを、書き換えて置き換える」* - [あなたがすべきでないこと、その1](https://www.joelonsoftware.com/2000/04/06/things)あなたは決してdo-do-part-i /)する必要があります。 – IInspectable
私は、偽装のUNIX同等物はseteuid関数だと考えています。 Javaからこれを呼び出すことができるかどうかはわかりません。しかし、実際には、名前付きパイプをWindowsサーバー、あるいはRPCまたはSchannelに開くかのように思えますか?これらはすべて「偽装API」の一部ではなく、偽装をサポートするさまざまな通信技術です。どの特定のテクノロジーを使用しようとしているのかを明確にしてください。 –