草庐IT

owin-middleware

全部标签

c# - 为什么我的 AJAX 请求没有扩展 OWIN MVC session ?

我们有一个ASP.NETMVC5应用程序,该应用程序一直在使用FormsAuthentication,但到期时间可滑动。我们最近切换到OWINCookie身份验证,但遇到了session未正确扩展的问题。以前,可以从AJAXxhr请求扩展session。但是,使用此配置,它们不会扩展。对于每个应该扩展的请求(GET和POST),我都会收到200,即使在服务器终止session之后也是如此。当前设置是:app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);UrlH

c# - 支持 https 的 Owin 自托管控制台应用程序(无 Web API,无 SignalR)

借助SslStream和套接字,我从头开发了一个https网络服务器。我可以从C#代码向流应用证书并处理请求。但是,我不知道如何与Owin一起做这件事。有谁知道如何将证书绑定(bind)到自托管控制台应用程序?示例://BindthebelowcertificatetoOwinhostvarcertificate=newX509Certificate2("server.pfx","password");详情请引用下面已有的Owin主机代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.T

c# - 使用 OWIN 和异步方法的多语言网站

背景我正在使用ASP.NET4.6、C#、IIS上的OWIN管道(Microsoft.Owin.Host.SystemWeb)创建一个简单的多语言网站,大量异步方法调用和标准、全局资源文件(App_GlobalResources中的*.resx)。该网站使用MVC5、WebAPI2和Autofac作为依赖解析器。问题我无法正确更改生成页面的语言环境/区域性,因为异步方法对每个请求使用多个线程,而且我找不到设置Thread.Current[UI]Culture与给定请求关联的每个线程,因为这些属性不同步。我还希望保持干净的代码,不要让“异步/等待文化配置”弄乱有用的代码。代码启动.csp

c# - 如何覆盖 Owin 中默认的未处理异常输出?

我使用Owin自托管和WebApi编写了简单的服务器:namespaceOwinSelfHostingTest{usingSystem.Threading;usingSystem.Web.Http;usingMicrosoft.Owin.Hosting;usingOwin;publicclassStartup{publicvoidConfiguration(IAppBuilderbuilder){varconfig=newHttpConfiguration();config.Routes.MapHttpRoute("Default","{controller}/{id}",new{id

c# - 用户 (IPrincipal) 在使用 Web Api 2.1 和 Owin 的 ApiController 构造函数上不可用

我将WebApi2.1与Asp.NetIdentity2一起使用。我试图在我的ApiController的构造函数上获取经过身份验证的用户(我正在使用AutoFac注入(inject)我的依赖项),但是当构造函数是打电话。我正在尝试获取用户,以便为任何数据库写入操作生成审计信息。我正在做的一些事情可以帮助诊断:我正在使用仅app.UseOAuthBearerTokens作为Asp.NetIdentity2的身份验证。这意味着我删除了app.UseCookieAuthentication(newCookieAuthenticationOptions())当您使用Asp.NetIdenti

c# - 拒绝 token 请求时自定义 OWIN/OAuth HTTP 状态代码

我导出了OAuthAuthorizationServerProvider为了验证客户端和资源所有者。当我验证资源所有者时,我发现他们的凭据无效,我调用context.Rejected(),HTTP响应随附HTTP/400错误请求状态代码,而我期望HTTP/401Unauthorized。如何自定义OAuthAuthorizationServerProvider的响应HTTP状态代码? 最佳答案 这就是我们覆盖OwinMiddleware的方式...首先我们在Owin之上创建了我们自己的中间件...我认为我们遇到了与您类似的问题。首先

c# - 使用 Ninject OWINHost 的 OWIN 自托管应用程序是否需要 system.web?

我正在尝试使用带有Ninject的OWIN自托管WebAPI创建Windows服务。我让它工作,但我必须添加对system.web的引用,这似乎是错误的。在没有引用system.web的情况下,我得到了这些编译错误:Thetype'System.Web.Routing.RouteCollection'isdefinedinanassemblythatisnotreferenced.Youmustaddareferencetoassembly'System.Web,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3

c# - OWIN 为多个路由发送静态文件

我正在制作一个位于ASP.NetWebAPI之上的SPA。我正在等待使用HTML5历史而不是#/进行历史路由,但这对深度链接造成了问题,我需要确保/和/foo/bar都返回相同的HTML文件(我的JS将呈现SPA的正确部分)。如何让OWIN/Katana为多个不同的url返回相同的HTML文件? 最佳答案 为了简单起见,同时仍然保留StaticFiles中间件的所有缓存优点等,我只是使用内联中间件重写请求路径,就像这样publicclassStartup{publicvoidConfiguration(IAppBuilderapp)

c# - 通过代码更改旧密码的 OWIN 身份密码?

我在MVC5中有一个带有OWINIdentity的Web应用程序,我想知道是否可以在不知道旧密码的情况下从代码更改用户密码。因为ChangePassword方法需要userId、oldPassword和newPassword。 最佳答案 在这种情况下,您会将ChangePassword视为重置密码。您可以通过生成token并使用该token直接使用新密码验证它来使用重置密码来实现此目的。varuserId=User.Identity.GetUserId();vartoken=awaitUserManager.GeneratePass

c# - 使用 Owinhost.exe 运行 OWIN Web 服务或控制台应用程序有什么区别

我开始开发新的Web应用程序并考虑使用OWIN。我无法从任何文档中解决的一件事是,将C#应用程序创建为控制台应用程序并从其exe文件启动它运行,或者将项目创建为类库/dll,以及使用OwinHost之间有什么区别.exe启动它。运行Owinhost.exe来启动该进程是否比将其作为控制台应用程序运行更有优势? 最佳答案 OneofthecomponentsincludedintheMicrosoftOWINcomponentsisthelightweight,console-basedOwinHost.exe.Thishostfin