3

以下を理解し、最適な実装のためにどのテクノロジーを使用する必要があるかを教えてください。

  1. 承認/セキュリティの種類はいくつあり、どれが最適か。
  2. ロールベースのセキュリティをどのように実装できますか。
  3. 同じことがRestfulサービスにも当てはまりますか。
4

1 に答える 1

1

最初の質問は 2 つの方法で解釈できます。まず、クライアントとサーバー間のプロトコルである認証方法を要求します。ここに2つあります:

  • BASIC AUTH - クライアントは、リクエストでユーザー名とパスワードをプレーン テキストで送信します。内部サービス (企業ネットワーク内) を作成している場合、または暗号化されたチャネル (HTTPS) を使用している場合、これは正常に機能します。
  • KERBEROS - これは Windows の世界でうまく機能し、すべてが Active Directory から制御されます。しかし、それを Java に持ち込もうとすると、悪夢が待っています。

2 つ目は、セキュリティを処理する Java フレームワークを要求することです。これは、たとえば春のセキュリティです。Spring セキュリティは、サービスの前のフィルター チェーンに配置されます。要求 (たとえば BASIC_AUTH を使用) が許可されている場合は通過しますが、許可されていない場合は通過しません。Spring セキュリティは、データベース、独自のコード、ldap (およびアクティブ ディレクトリ) など、さまざまな方法でユーザーを見つけるように構成できます。

2番目の質問。Spring セキュリティは優れたロールを処理します。私は常に、イントラネット アプリケーションが LDAP を介して AD から取得したロールに依存するようにしています。ユーザーが機能にアクセスするために必要なロールを制御するのは非常に簡単です。このような種類:

@Secured("ROLE_ADMIN")

3番目の質問。それはあなたの安らかなサービスフレームワークに依存しますが、ほとんどの場合、はい、同じことが当てはまります。

于 2013-08-13T11:36:45.307 に答える