私はGWTアプリケーションを作成しており、ユーザーロールに基づいて特定のウィジェットのみをロードする必要があります。たとえば。管理ウィジェット、ユーザーウィジェットなどがあるかもしれません。
これをどのように実装できるか考えていますか?
1つのオプションは、コード内の役割を確認して非表示にすることです。しかし、このコードはクライアント側で実行されるため、これはセキュリティ上のリスクだと思います。
サーバー側で役割を管理する必要があります。
なんらかの方法でルートウィジェットに役割を渡します。
RPC
中にサーバーに電話しonModuleLoad
て役割を尋ねる
または、 JSPからJSに渡しget
、ウィジェットからネイティブを使用します。
必要なパネルを作成する
はい、すべてのjsコードがクライアントにあり、JSデバッグを使用してフローを変更できるため、まだリスクがあります。これを防ぐには、Admin
ウィジェットからサーバー側へのすべての呼び出しをフィルタリングし、たとえば、成功する結果が得られずに失敗するようにする必要があります。したがって、サーバーへのすべての呼び出しが失敗するため、管理ウィジェットは何もできません。
それでも十分に安全でない場合は、別のGWT Entry Points
を使用できます。この場合、クライアントを個別のJSコードを使用して個別のページに転送します。
同じ問題があります。私はこれを見つけました(まだ使用していませんが、これが解決策かもしれないと思います): acris