1

現在、さまざまなクライアント タイプとロールにインターフェイスを公開する Web サービスのグループがあります。

バックグラウンド:

  • Web サービス アプリケーション コードは、弱く型付けされた動的言語で記述されています (今後も維持されます)。

  • 認証は個別に処理されます。この投稿はAuthorizationに関するものです。

  • Web サービスによって公開されるすべての操作はステートレスです。

  • Web サービスは、 SOAP と REST(JSON)の両方を話します。

    どちらのアプローチのメリットについても議論を始めるつもりはありません。

質問:

同時に宣言的に定義するスキームを実装したい

  1. 公開されたメソッドの入力と出力の複雑な WSDL 型付け、および
  2. 公開されたメソッドを利用するには、承認TRAITSおよび/またはROLESが必要です。

宣言をインターフェース定義 (メソッド属性など) とインラインで行うか、外部で定義 (YAML ファイル経由など) したいのですが、データベースで動的に管理しないでください。

そのような実装は、(任意の) 弱く型付けされた動的言語に対して既に存在しますか? 私たちが構築できる完全に外部の実装はありますか?

4

2 に答える 2

0

うーん、このトピックについてはまったく理解していません...私がすでに予測できる詳細を再質問すると、問題が混乱します:-(

于 2009-08-09T23:53:57.540 に答える
0

Java を使用している場合、Spring Security (以前の ACEGI) を使用すると、実行条件として任意のユーザー ロールを要求するようにメソッドにアノテーションを付けることができます。

次に例を示します。

package com.habuma.expectations.springsecurity.intercept;
import org.springframework.security.annotation.Secured;

public class SecuredObject {
   @Secured( {"ROLE_SECRET_AGENT"} )
   public String getSecuredData() {
      return "Top-Secret Data";
   }
}

ロールを持たないユーザーによるリクエストは、例外をスローします。必要な認証方式を自由に選択できます。SOAP を使用しているか REST を使用しているかは問題ではありません。アノテーションほど宣言的ではありません。このアプローチは、多くの Web サービスで成功裏に使用されています。

于 2009-08-05T16:50:36.857 に答える