servicestack,basic-authentication,Authentication,servicestack,Basic Authentication" /> servicestack,basic-authentication,Authentication,servicestack,Basic Authentication" />

如何从servicestack basic authentication(位于/auth/basic)请求会话?

如何从servicestack basic authentication(位于/auth/basic)请求会话?,authentication,servicestack,basic-authentication,Authentication,servicestack,Basic Authentication,我使用第一个示例设置了具有基本身份验证的servicestack服务,如下所示: 这将自动设置路由:/auth/basic 但是,我找不到关于如何将请求格式化到此URL的任何信息或示例(Variables/GET/POST/Auth Header,等等) 我能够使用基本的身份验证凭据访问一个简单的服务,因此它们是活动的和正确的 我没有插入自定义身份验证,只有基本身份验证 我试过: 使用JsonServiceClient通过GET或Json-POST将用户名和密码变量发送到/auth/basi

我使用第一个示例设置了具有基本身份验证的servicestack服务,如下所示:

这将自动设置路由:/auth/basic 但是,我找不到关于如何将请求格式化到此URL的任何信息或示例(Variables/GET/POST/Auth Header,等等)

我能够使用基本的身份验证凭据访问一个简单的服务,因此它们是活动的和正确的

我没有插入自定义身份验证,只有基本身份验证

我试过:

  • 使用JsonServiceClient通过GET或Json-POST将用户名和密码变量发送到/auth/basic,同时使用和不使用还包含user&pass的auth头

  • 使用浏览器发送带有用户/通行证URL参数的GET请求,或作为
    http://user:pass@localhost:123/auth/basic

我总是得到“HTTP/1.1 401无效的基本凭据”

我能找到的唯一示例涉及某种自定义身份验证,然后访问/auth/credentials,但我想使用/auth/basic

我看过代码,它看起来像是读取了一个Auth头,但服务不接受它

实际上,我正在尝试让它工作,这样我就可以禁用它并验证它是否已禁用(我希望每个请求都需要基本身份验证)

问题包括:

  • 调用/auth/basic服务的正确方法是什么?我将以servicestack客户端API为例,说明甚至是原始http请求

  • 如何完全禁用/auth服务


非常感谢。

在apphost配置中添加以下内容似乎可以达到目的

//Disable most things, including SOAP support, /auth and /metadata routes
SetConfig(new EndpointHostConfig()
{
    EnableFeatures = Feature.Json | Feature.Xml
});
然而,我对/auth的作用有点怀疑,因为它返回一个空响应,而大多数路由返回404


那么,这真的会禁用/auth功能吗?与中一样,如果有人向/auth/credentials发出了正确的请求,它还会返回空响应吗?

调用/auth/basic服务的正确方法是什么?我将以servicestack客户端API为例,说明甚至是原始http请求

var client = new JsonServiceClient("http://localhost:56006/api");
var resp = client.Post(new Auth() { UserName = "TestUser", Password = "Password" });
  • 这假设您还注册了
    ICacheClient
    IAuthUserRepository
    (并添加了用户帐户)
如果调用
/auth/basic?format=JSON

{
  "UserName": "admin",
  "Password": "test"
  "RememberMe": true
}
如何完全禁用/auth服务?

不要将
AuthFeature
插件添加到配置中

你也可以


谢谢你的帮助。添加BasicAuthentication(对于每个请求身份验证),AuthFeature/sessions将自动添加。问题是,在不禁用每请求身份验证的情况下,如何禁用/auth会话功能?您不能--
AuthFeature
插件注册
SessionFeature
插件并使用它。对于不带会话的每次调用的基本身份验证,您可以编写自定义的
RequestFilterAttribute
实现,并使用此自定义的
[BasicAuthenticate]
属性装饰您的服务。
Plugins.RemoveAll(x => x is AuthFeature);