1

そのユーザー名とパスワードを提供することで、任意の Web メソッドを使用できるように、.inを作成wcf web serviceしたいと考えています。既に wcf Web サービスを作成していますが、Web サービスにユーザー名とパスワードを追加したいと考えています。usernamepasswordasp.net

前もって感謝します。

4

1 に答える 1

0

求めているものを達成するために必要な手順は次のとおりです。

1) Visual Studio の "新しいプロジェクト" インターフェイスを使用して、新しい WCF プロジェクトを作成します。Service1.svc (コード ファイル) とIService1.cs (インターフェイス ファイル) の 2 つのメイン ファイルが作成されます。

2) IService1.csファイルを開き、次のようにメソッドを定義します。

[ServiceContract]
public interface IService1
{
    [...]

    // TODO: Add your service operations here

    [OperationContract]
    string GetToken(string userName, string password);
}

3) Service1.csファイルを開き、次の方法でメソッドの実装を追加します。

/// <summary>
/// Retrieve a non-permanent token to be used for any subsequent WS call.
/// </summary>
/// <param name="userName">a valid userName</param>
/// <param name="password">the corresponding password</param>
/// <returns>a GUID if authentication succeeds, or string.Empty if something goes wrong</returns>
public string GetToken(string userName, string password)
{
    // TODO: replace the following sample with an actual auth logic
    if (userName == "testUser" && password == "testPassword")
    {
        // Authentication Successful
        return Guid.NewGuid().ToString();
    }
    else
    {
        // Authentication Failed
        return string.Empty;
    }
}

基本的にはそれだけです。この手法を使用して、(期限切れで安全な) トークンを取得して、後続の呼び出しで使用することができます (これが最も一般的な動作です)。または、すべてのメソッド内でそのユーザー名/パスワード戦略を実装します: それは完全にあなたの呼び出しです.

新しいサービスをテストするには、MVC プロジェクトをデバッグ モードで起動し、組み込みのWCF テスト ツールを使用します。変更しない限り、上記のサンプル値 ( testUsertestPassword ) を入力する必要があります。

この特定のトピックと追加の実装例に関する詳細については、私のブログでこの投稿を読むこともできます。

于 2017-10-20T23:25:42.350 に答える