【发布时间】:2022-09-27 15:14:35
【问题描述】:
在 GlobalRequestFilters 我有这样的事情:
var session = new AuthUserSession()
{
AuthProvider = \"credentials\",
IsAuthenticated = true,
Id = $\"a unique string\",
...
};
req.Items[Keywords.Session] = session;
我有这样的课:
[Authenticate]
[Route($\"/Test\", \"POST\" )]
public class CreateTest : ICreateDb<Test>, IReturn<CreateTestResponse>
{
public string SomeField { get; set; }
}
还有一项服务:
public class TestService : ServiceStack.Service
{
public object Post(CreateTest request)
{
// prints \"True\" (when we comment [Authenticate] in the DTO)
Console.Write( Request.GetSession().IsAuthenticated );
}
}
当我在 \"/ui\" 中测试此服务时,我收到错误 401。
如果我从 \"CreateTest\" 中评论 \"[Authenticate]\" 属性,它会按预期工作,并且我可以确认会话存在并且 \"IsAuthenticated\" 为 True。
我的理解是否足以为当前请求“分配”一个会话以验证该请求,但缺少一些东西。
如何解决此 401 错误?
标签: servicestack