2

我为 ServiceStack 编写了一个自定义属性,其中包含以下代码:

public override void Execute(IHttpRequest request, IHttpResponse response, object requestDto) {
    HttpContext.Current.User = GetUserFromOAuth2BearerToken(request);
}

这在 IIS 中托管时效果很好,但在使用内置 HttpListener 主机时,HttpContext.Current 返回null.

使用 HttpListener 时设置和获取与当前请求/响应关联的安全主体的正确语法是什么?

4

1 回答 1

1

我不确定“安全主体/System.Security.Principal”在使用AppHostHttpListenerBase.

你可以拉取用户信息做类似的事情......

var sessionId = request.Cookies["ss-id"].ToString();
var user = request.GetCacheClient().Get<AuthUserSession>(sessionId);
于 2013-09-06T22:36:06.653 回答