3

Ektron (rrot/Workarea/Services) で WCF サービスを使用しています。次のコードを使用して、クライアントで ContentService.svc サービスを使用しようとすると、

   ContentManagerClient cClient = new ContentManagerClient();
   UpdatedContentService.ContentData data = new UpdatedContentService.ContentData();
   data.m_strTitle = "test";
   data.m_strHtml = "test";
   data.m_intFolderId = 72;
   data.m_intUserId = 1;
   cClient.Add(data);

「現在のユーザーには、このリクエストを実行する権限がありません」というエラーが表示されます。クライアントからこのアクションを実行するために ektron ユーザーを認証するにはどうすればよいですか?

4

1 に答える 1

0

ektron dev フォーラムで得た回答は良いものでした。(同じ問題を抱えている人のための事前の議論: http://developer.ektron.com/forums/?v=t&t=1280 )

コンテンツ サービスではなく、認証サービスを使用する必要があります。これは、次の手順を使用して行うことができます。

  1. Web サービスのプロキシ オブジェクトを作成します。たとえば、Web サービス アドレスに対して .Net ツール wsdl.exe を実行します。 http://localhost:/Workarea/webservices/AuthService.asmx
  2. 「csc /t:library AuthenticationService.cs」を実行して DLL にコンパイルします。 DLL またはコンソール アプリへの参照として DLL を追加します DLL をプロジェクトの Lib フォルダーにコピーします
  3. DLL またはコンソール アプリへの参照として DLL を追加します DLL をプロジェクトの Lib フォルダーにコピーします [参照の追加] を右クリックし、作成したプロキシ DLL を参照します。DLL またはコンソール アプリへの参照として System.Web.Services を追加します。
  4. アプリからプロキシ コードを呼び出します。

    AuthenticationService auth = 新しい AuthenticationService();
    IAsyncResult 応答 = auth.BeginisValidUser(ユーザー名、パスワードなど...);

この実際のコード例は、http: //developer.ektron.com/Templates/CodeLibraryDetail.aspx?id=1036&blogid=116にあります。

この例は、コンテンツ サービスをプルする VooDoo エンジニアリングの例から改作されました

于 2013-07-12T16:57:57.133 に答える