1

假设我已经从我的客户端发送了自定义身份验证数据,并从服务堆栈 Web API 中检索了 ss-id。

var client = new JsonServiceClient("http://somewhere/API");
var response = client.Post(new Auth() {UserName = "myuser", Password = "password123"});

然后我尝试使用 [Authenticate] 访问另一个 API 函数,但它总是以 401 未授权而失败。

public class UsersServices : Service
{
    public UsersRepository Repository { get; set; }

    //cannot access this...
    [Authenticate]
    public object Get(Users user)
    {
        return RequestContext.ToOptimizedResultUsingCache(
            base.Cache, UrnId.Create<Users>("requestAll"), () =>
            {
                var data = Repository.GetAllUsers();
                return data;
            });
    }
}

身份验证后如何在客户端访问 API?

4

1 回答 1

2

用于SetCredentials通过每个客户端请求传递身份验证信息。

var client = new JsonServiceClient("http://somewhere/API");
client.SetCredentials("myuser","password123");
var response = client.Get<ResponseDTO>();
于 2013-09-19T06:32:09.723 回答