查看 ServiceStack.UseCases 示例项目。在调用身份验证服务后,我正在尝试使用 jsonserviceclient 调用 HelloRequest 服务。无论我做什么,它似乎都失败并返回 Not Found 错误消息。有人知道我在做什么错吗?
protected void Button1_Click(object sender, EventArgs e)
{
var baseUrl = Request.Url.GetLeftPart(UriPartial.Authority) + "/api";
var client = new JsonServiceClient(baseUrl);
client.UserName = "admin";
client.Password = "123";
client.SetCredentials("admin", "123");
client.AlwaysSendBasicAuthHeader = true;
client.Send(new HelloRequest { Name = "Mike" });
}
服务器的服务配置如下
public class AppHost : AppHostBase
{
public AppHost() : base("Custom Authentication Example", typeof(AppHost).Assembly) { }
public override void Configure(Container container)
{
// register storage for user sessions
container.Register<ICacheClient>(new MemoryCacheClient());
// Register AuthFeature with custom user session and custom auth provider
Plugins.Add(new AuthFeature(
() => new CustomUserSession(),
new[] { new CustomCredentialsAuthProvider() }
));
}
}
我真正想要的是对我遇到的以下问题的一个很好的解决方案。我有一个具有现有用户数据库和自定义身份验证过程的现有系统。我现在正在尝试使用 servicestack 将系统的功能公开为 Web 服务。我使用沼泽标准网络表单进行编程,因此 MVC 示例对我来说效果不佳。我只是在为我的特定场景寻找最佳解决方案,我可以使用 .NET 中的大多数客户对我的 web 服务的调用者进行身份验证