ユーザーの役割/権限に基づいて GWT と Spring Security を使用して条件付き UI を作成するためのベスト プラクティスは何ですか?
クライアント側のセキュリティに依存できないことは承知しています。サーバー側でセキュリティチェックを行います。条件付き UI は、実際には外観のみを目的としています。
ユーザーの役割/権限に基づいて GWT と Spring Security を使用して条件付き UI を作成するためのベスト プラクティスは何ですか?
クライアント側のセキュリティに依存できないことは承知しています。サーバー側でセキュリティチェックを行います。条件付き UI は、実際には外観のみを目的としています。
サーバー (役割を持つ) からクライアント (持たない) にユーザーの役割のリストを取得するには、サービスが必要です。コールバックの onSuccess メソッドでは、次のようなコードになります。
if (roles.contains("role1")) {
GWT.runAsync(new RunAsyncCallback() {
public void onFailure(Throwable caught) {
Window.alert("Code download failed");
}
public void onSuccess() {
// code here if the user has role1
}
});
}
if (roles.contains("role2")) {
GWT.runAsync(new RunAsyncCallback() {
public void onFailure(Throwable caught) {
Window.alert("Code download failed");
}
public void onSuccess() {
// code here if the user has role2
}
});
}
// and so on
GWT.runAsyncを使用して、ユーザーが表示する必要のないコードのセクションをチャンクオフします。UIをロードするときは、必要なものを確認してから表示します。
「showTeacherControls」、「showAdvisorControls」、「showStudentControls」など、必要なビジネスロジックのほとんどをユーザーごとにダウンロードする設定に抽象化しました。次に、クライアントはこれらのフラグをチェックして、何を表示するかを判断できます。