具有OWIN SelfHost和Windows身份验证的WebApi

Vtortola

我有一个控制台应用程序SERVER,该服务器使用OWIN自托管功能托管WebApi控制器,并在名为“ ServiceTest1”的自定义帐户下运行。

在同一台机器上,我有另一个控制台应用程序CLIENT,该帐户在“ ServiceTest2”帐户下运行,并且我想在SERVER中捕获“ ServiceTest2”调用了控制器操作。然而:

  • WindowsIdentity.GetCurrent() 始终为“ ServiceTest1”。
  • Thread.CurrentPrincipal是未经身份验证的GenericIdentity
  • RequestContext.Principal 一片空白。
  • User 一片空白。

要使此WebApi OWIN自托管以获取调用方的Windows身份,我需要什么?

和风

您的问题尚不清楚您如何实施Windows身份验证。

启用Windows身份验证:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        HttpListener listener = (HttpListener)app.Properties["System.Net.HttpListener"];
        listener.AuthenticationSchemes = AuthenticationSchemes.IntegratedWindowsAuthentication;

        // ...
    }
}

在OWIN中间件中获取用户:

public async Task Invoke(IDictionary<string, object> env)
{
    OwinContext context = new OwinContext(env);
    WindowsPrincipal user = context.Request.User as WindowsPrincipal;

    //...
}

在Web API控制器中获取用户:

// In a web api controller function
WindowsPrincipal user = RequestContext.Principal as WindowsPrincipal;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用OWIN SelfHost和Facebook身份验证

Owin自托管WebApi Windows身份验证和匿名

AngularJs,WebAPI,JWT,具有(集成的)Windows身份验证

具有应用内授权的OWIN WsFederation身份验证

WebApi上的AngularJS和OWIN身份验证

具有表单身份验证的ASP.NET MVC和具有基本身份验证的WebApi

如何在Web API中启用Windows身份验证和Owin令牌身份验证?

具有Windows身份验证的WebAPI控制器上的UnitTest

具有Azure ADFS和OWIN的SSO

具有Azure Active Directory身份验证票证寿命的Microsoft.Owin.Security.OpenIdConnect

WebApi2-没有OWIN身份验证管理器与请求关联

Windows身份验证与MVC。具有不同“访问级别”的Windows身份验证

Angular-WebAPI2 OWIN身份验证返回401

具有Windows身份验证和自定义声明的IdentityServer4

具有asp.net核心的Windows身份验证

我应该如何使用Identity 2.0,WebAPI 2.1和Owin 2处理身份验证?

OWIN和带有SPA的WEB API 2的表单身份验证

MVC-混合身份验证-OWIN + Windows身份验证

OWIN Cookie身份验证

Windows计算机上具有身份验证和SSL连接问题的CUPS共享打印机

WebApi.Owin中的SuppressDefaultHostAuthentication也禁止在webapi之外进行身份验证

OWIN身份验证和自定义响应

OWIN WebAPI 2 Bearer身份验证自定义身份

是否可以在具有WebAPI服务的三层体系结构的SQL Server数据库中使用Windows身份验证?

是否可以在单个应用程序中具有SAML 2.0身份验证和JWT身份验证?

具有Windows身份验证的ASP.NET Core身份

带有ADFS和Windows身份验证的.NET MVC5

OWIN身份验证未通过身份验证

自托管的OWIN .NET 4.5 Web API 2不适用于Windows身份验证和https