JavaFXをクライアント側に、JavaEE/Glassfishをサーバー側に、MySQLをデータベース管理システムとして、3層アプリケーションを開発します。また、ネットワーク経由でデータを転送するためにRESTとJSONを使用しました。 JavaEEのセキュリティ手段を使用して認証を設定しようとしました。私はエンタープライズBeanの注釈付き宣言的アプローチを使用しています。すでにGlassfishファイルレルム(user/groupの追加)とglassfish-web.xml記述子(group-nameタグとroleタグの追加)を設定しています。 JavaEEチュートリアルでは、クライアントが保護されたリソースを取得しようとしたときに必要な準備がすべて完了した場合、Glassfishはクライアントにログインとパスワードのペアを要求する必要があります。私はそれがどのようにWebクライアントになるのか分かりますが、私の場合はデスクトップのJavaFXクライアントです。Glassfishがデスクトップアプリケーションでクライアントにどのように尋ねるのか分かりません。 JavaFX-Glassfishでの認証メカニズムの作成方法助けてください。JavaEEでJavaFXクライアントを認証する方法
UPDATE ブラウザ(Chrome、IE)からサーブレットを呼び出そうとすると認証ウィンドウが表示され、認証メカニズムが機能することがあります。しかし、私がJavaFXウィンドウを開くと何も見ません(白いシーン)。
import javafx.application.Application;
import javafx.geometry.HPos;
import javafx.geometry.VPos;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.layout.Region;
import javafx.scene.paint.Color;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class WebViewSample extends Application {
private Scene scene;
@Override
public void start(Stage stage) {
// create the scene
stage.setTitle("Web View");
scene = new Scene(new Browser(), 750, 500, Color.web("#666970"));
stage.setScene(scene);
scene.getStylesheets().add("webviewsample/BrowserToolbar.css");
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
class Browser extends Region {
final WebView browser = new WebView();
final WebEngine webEngine = browser.getEngine();
public Browser() {
getStyleClass().add("browser");
webEngine.load("http://localhost:8080/ForthDynamicWebProject/FirstServlet");
getChildren().add(browser);
}
}
私はこれを試したことはありませんが、Webログインフォームを作成するだけであれば、JavaFX Webビューで表示できます。フォームを送信すると、Webアプリケーションとまったく同じ方法で認証されます。 JavaFXアプリケーションから送信される後続の要求は、設定されているjsessionidクッキーを尊重し、要求を認証する必要があります。もう一度、私が言ったように、私はこれをやろうとはしたことはありませんが、私が試みる最初のアプローチになります。 –
@James_Dありがとう、私は今夜それを試してみます。 – Rinat
@James_Dブラウザからサーブレット(Chrome、IE)を呼び出そうとしたときに認証ウィンドウのポップアップが表示され、認証メカニズムが正常に動作しません。しかし、JavaFXウィンドウを開くと何も表示されません。 – Rinat