我的理解是,你现在可以使用Katana自己托pipeWebAPI,并且MVC将在未来的版本中具有这种能力。 本质上Katana将是一个可用于MVC和WebAPI的托pipe选项。 Kestrel已经进入了图片,我看到一些MS员工在博客上展示了在Linux上托pipeASP.NET vNext。 我的理解是Kestrel和Katana都实现了OWINpipe道。 从那里,这是一点点模糊。 我问自己,为什么Kestrel进入图片,看起来Katana可以达到相同的目的,如果你编写单声道,并做了一些努力,使其跨平台兼容(可能说起来容易做起来)。 Kestrel和Katana服务于同样的目的吗? 或者是一个专门从事某种方式,另一个不是? Kestrel最终将成为Windows部署的可行select吗? 或者将它专门用于非Windows环境,Katana仍然是Windows的select? 我认识到我可能会要求一个苹果比较桔子,因为我不知道武士刀/红隼,但如果答案是“橙子比苹果有更多的酸性味道”,那么国际海事组织是一个完全有效的答案。
我想了解MVC 5中的单页面应用程序模板中的新OWIN承载令牌authentication过程。如果我错了,请更正我的OAuth密码客户端authenticationstream程,承载令牌authentication通过检查httpauthentication请求标头对于承载访问令牌代码来查看请求是否经过authentication,它不依赖于cookie来检查特定的请求是否被authentication。 根据这个职位: 使用Web API示例的OWIN承载令牌authentication public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { using (IdentityManager identityManager = _identityManagerFactory.CreateStoreManager()) { if (!await identityManager.Passwords.CheckPasswordAsync(context.UserName, context.Password)) { context.SetError("invalid_grant", "The user name or password is incorrect."); return; } string userId = await identityManager.Logins.GetUserIdForLocalLoginAsync(context.UserName); IEnumerable<Claim> claims = await GetClaimsAsync(identityManager, userId); ClaimsIdentity oAuthIdentity = CreateIdentity(identityManager, claims, context.Options.AuthenticationType); ClaimsIdentity cookiesIdentity = CreateIdentity(identityManager, claims, […]
我不完全得到这个..确定它很酷,能够自我托pipe一个应用程序,这可能是很好的,因为如果IIS出于任何原因下降…那么所有的网站宕机..但如果他们是自我的,托pipe,然后他们住在那里自己的生活有自己的背景下..我认为是好的..但我仍然没有得到这个优点..我在IISpipe道中跳过很多不必要的东西,通过使用owin加快应用程序,或者..什么是实际的优点? (你不需要列出所有这些,如果他们很多:),但只是这样我得到你为什么想要在IIS上使用OWIN和Katana) 提前致谢!
我是ASP.NET的新手,目前正在学习ASP.NET身份。 我知道它是build立在微软OWIN实施之上的,我也正在学习。 所以,我遇到了Owin启动代码中的扩展方法CreatePerOwinContext,我没有看到使用它的明确目的。 它是一种dependency injection容器吗? 这个方法的真正目的是什么? 在什么情况下应该适用?
在我们的Startup类中,我configuration了以下auth服务器选项: OAuthAuthorizationServerOptions OAuthServerOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/api/v1/token"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(1), Provider = new SimpleAuthorizationServerProvider() }; 在此之后,我们应该使用哪个选项来实际启用承载authentication? 互联网上似乎有两个变种。 选项1: app.UseOAuthAuthorizationServer(OAuthServerOptions); app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()); 选项2: app.UseOAuthBearerTokens(OAuthServerOptions); 我testing了他们两个,结果是一样的。 这些选项有什么区别? 我们什么时候该用哪个?
我读过很多关于OWIN和Katana项目的文章,但我无法得到它的全貌。 对于使用ASP.NET的普通Web开发人员: OWIN究竟是什么,它解决了什么问题(用简单的话来说)。 它与IIS的关系是什么? OWIN取代IIS吗? 如果不是,OWIN在什么情况下最适合? OWIN如何帮助我进行日常工作? OWIN如何帮助我完成一个自我完善的项目?
我是OWIN和Katana的新手。 我真的不明白为什么我应该使用OWIN,而我可以使用IIS 。 为了简化,我的问题是:如果我跳过学习OWIN并为我的网站使用IIS,会损失什么? 我GOOGLE了,但没有一个简单的解释。 这里有一些信息,但是他们用了一些术语,所以我不明白。
我使用Owin cookie身份validation有一个奇怪的问题。 当我启动我的IIS服务器身份validation在IE / Firefox和Chrome浏览器上工作得很好。 我开始做一些testing与authentication和login在不同的平台上,我想出了一个奇怪的错误。 Owin框架/ IIS偶尔不会向浏览器发送任何cookie。 我将input用户名和密码,这是正确的代码运行,但没有cookie传递到浏览器根本。 如果我重新启动服务器,它开始工作,然后在某个时候,我会尝试login,再次的cookie停止交付。 单步执行代码并不会导致错误。 app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationMode = AuthenticationMode.Active, CookieHttpOnly = true, AuthenticationType = "ABC", LoginPath = new PathString("/Account/Login"), CookiePath = "/", CookieName = "ABC", Provider = new CookieAuthenticationProvider { OnApplyRedirect = ctx => { if (!IsAjaxRequest(ctx.Request)) { ctx.Response.Redirect(ctx.RedirectUri); } } } }); 在我的login过程中,我有以下代码: IAuthenticationManager authenticationManager = […]