问题标签 [katana]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1372 浏览

owin - Microsoft.Owin.Diagnostics.ErrorPageExtensions.UserErrorPage 会捕获什么样的异常

我从http://blogs.msdn.com/b/webdev/archive/2013/11/22/debugging-owin-app-or-framework.aspx获得了演示代码,它显示了一个性感的错误页面。

但是,如果我在 Controller 操作中抛出异常,则不会显示错误页面,并且我仍然会看到 YSOD。

所以我想知道UseErrorPage会捕获哪些异常?我是否需要其他配置才能使其正常工作?

0 投票
1 回答
824 浏览

google-api - 如何使用 Asp.Net MVC 5 Web 和 OWIN / Katana 获取 Google API 的访问令牌

拥有一个使用 OWIN Katana 组件进行 OAuth 和 OpenId 的 Asp.Net MVC 5 Web 角色。在Startup.Auth.cs中启用了 Google 身份验证支持(默认 MVC 5 模板提供)。

在身份验证之前一切正常,但不确定如何请求授权令牌,如此处所述Google Contacts API v3

请分享指向示例或文档的指针。谢谢你。

0 投票
4 回答
50304 浏览

authentication - 如何为 Asp.NET MVC 5 创建 ClaimsIdentity 对象?

我正在使用 .NET MVC 5 应用程序。我不想使用实体框架。我想对 RavenDB 数据库进行身份验证。在我看来,我想替换UserManagerAccount Controller 附带的那个。我想我可以重写所有 UserManager 函数来使用我的数据库,除了我不理解这个ClaimsIdentity对象。

在该SignInAsync方法中,调用了UserManager.CreateIdentityAsync(...). 我知道它返回一个ClaimsIdentity对象。我不知道如何自己创建一个 ClaimsIdentity 对象。

我看到它有 4 个属性ActorBootstrapContext和。我不知道这些属性是做什么用的,也不知道如何正确生成它们。我认为正确生成它们很重要,因为它是身份验证 cookie 的制作方式。ClaimsLabel

我在这里查看了 ClaimsIdentity 对象的解释,但这并没有真正帮助我理解。

如果我能看到 的代码CreateIdentityAsync(),那可能会有所帮助。

如果我对这一切都错了,请告诉我。否则,如果有人能指出如何生成 ClaimsIdentity 对象,那将很有帮助。

0 投票
1 回答
561 浏览

azure - 从 OWIN 管道确定应用程序上下文?

我有一个使用 Nancy 的 OWIN 管道:

UseNancy() 实际上是对我在此要点中定义的自定义扩展方法的调用:https ://gist.github.com/TheFastCat/0b7635d9e5795b44e72e

此代码作为 Azure 网站或 Azure 云服务执行。根据它在其中执行的上下文,我想使用一个特定的图标,作为嵌入式资源从单独的程序集中加载。我通过指定单独的 NancyBootstrappers 来做到这一点(每个都为其上下文加载正确的图标)。

  1. 是否有更优雅的解决方案来确定正在执行 OWIN 管道的运行时应用程序?目前我检查 app.Properties["host.AppName"] ; 然而,虽然网站的应用程序名称与它的程序集配置匹配,但 CloudService 应用程序是 Owin 启动程序集.class 的名称。(见要点)。真是胡说八道。

  2. 有没有比创建单独的引导程序和执行运行时应用程序上下文检查更优雅/简单的解决方案来为我的每个 Web 应用程序在 Nancy 中指定自定义图标?

0 投票
1 回答
2294 浏览

c# - How to enable OWIN logging on Windows 7

I am trying to implement logging into my OWIN self hosting solution.

My MiddleWare class is as follows:

I then use this in my Startup class.

When I remove builder.Use<HostingMiddleware>(builder); I can make a HTTP request and get a response, however when I implement my Middleware class I get:

No WebSocket support detected, Windows 8 or later is required.

From there forward, the logging doesn't work as it should do. Surely there is a way to get logging to work on a Windows 7 environment otherwise the functionality is rendered pretty useless? Any ideas on what I need to do?

Thanks in advance.

0 投票
1 回答
2882 浏览

.net - OWIN 中的 EntryPointNotFoundException

我在 Visual Studio 2010 中创建了一个控制台应用程序,并为 OWIN 安装了诸如 Microsoft.Owin.Hosting 和 Microsoft.Owin.Host.HttpListener 之类的 nuget 包,并配置如下

运行应用程序后,我收到异常EntryPointNotFoundException *尝试加载应用程序时发生以下错误。- 在类 'KatanaIntro.Startup、KatanaIntro、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null 中找不到 'Configuration' 方法*

我该如何解决这个问题?我有什么遗漏吗?

0 投票
4 回答
68225 浏览

asp.net - 如何用简单的语言和用法来解释 Katana 和 OWIN?

我读过很多关于 OWIN 和 Katana 项目的文章,但我无法了解它的全貌。

对于使用 ASP.NET 的普通 Web 开发人员:

  1. OWIN 到底是什么,它解决了什么问题(简单来说)。它与IIS有什么关系?
  2. OWIN 会取代 IIS 吗?如果不是,OWIN 在什么情况下最适合?
  3. OWIN 如何在我的日常工作项目中帮助我?
  4. OWIN如何帮助我进行自我提升项目?
0 投票
1 回答
472 浏览

owin - 使用 OWIN 和 NancyFX 的 Web 应用程序如何将其公开

我创建了一个使用OWINNancyFX作为学习体验的简单网站。现在我想让我的网站公开或至少在我的本地网络上可用(我想与我的公司团队分享我的经验)。

我的问题如何配置:

  1. Microsoft.Owin.Host.SystemWeb用作主机和服务器的情况下。
  2. 或者在OwinHost.exe用作主机和Microsoft.Owin.Host.HttpListener服务器的情况下。
0 投票
2 回答
5243 浏览

asp.net-mvc - 为什么我更改响应时 AuthenticationManager.SignOut() 失败?

我刚开始摆弄 OWIN/Katana 和 MVC.NET 5.0。默认的 Visual Studio 2013 ASP.NET Web 应用程序/MVC 模板有一个带有 LogOut() 操作的 AccountController:

正如预期的那样,这工作得很好。但是,当我更改响应状态代码时,例如:

... AuthenticationManager.SignOut() 方法不再导致用户注销。这是为什么?

我尝试了不同的方法来设置响应的 http 状态代码,以及更改诸如 Location 之类的 http 标头,并且始终得到相同的结果 - 如果我进入缓和状态,执行 LogOff() 操作时用户不会注销与回应。

我尝试不使用 RedirectToAction(它显式地实现了 302 重定向——那是另一回事),也没有返回 ActionResult,但这并没有什么不同——并不是我真的期望它这样做。

使用 Fiddler,我可以看出浏览器显示的响应看起来很好,没有任何意外。

我也尝试过查看工作中的 OWIN 中间件的源代码,但是我对架构仍然不熟悉,并且我没有找到可以掌握的答案。我需要你的帮助来解决这个问题,所以提前谢谢你!

0 投票
9 回答
88393 浏览

asp.net - ASP.NET_SessionId + OWIN Cookies 不发送到浏览器

我在使用 Owin cookie 身份验证时遇到了一个奇怪的问题。

当我启动 IIS 服务器身份验证时,在 IE/Firefox 和 Chrome 上运行良好。

我开始使用身份验证进行一些测试并在不同的平台上登录,但我遇到了一个奇怪的错误。偶尔 Owin 框架/IIS 只是不向浏览器发送任何 cookie。我将输入正确的用户名和密码,代码运行但根本没有 cookie 传送到浏览器。如果我重新启动服务器,它就会开始工作,那么在某个时候我会尝试登录,然后 cookie 会再次停止传递。单步执行代码不会执行任何操作,也不会引发错误。

在我的登录过程中,我有以下代码:

更新1:问题的一个原因似乎是当我将项目添加到会话时问题开始了。添加一些简单Session.Content["ABC"]= 123的东西似乎会产生问题。

我可以做的如下: 1)(Chrome)当我登录时,我得到 ASP.NET_SessionId + 我的身份验证 cookie。2)我转到一个设置 session.contents 的页面... 3)打开一个新浏览器(Firefox)并尝试登录,它没有收到 ASP.NET_SessionId 也没有获得身份验证 Cookie 4)虽然第一个浏览器有它继续工作的 ASP.NET_SessionId。在我删除此 cookie 的那一刻,它与我在 ip 地址 (10.xxx) 和 localhost 上工作的所有其他浏览器存在相同的问题。

更新 2:ASPNET_SessionId在使用 OWIN 进行身份验证之前,在我的 login_load 页面上强制创建第一个。

1)在我使用 OWIN 进行身份验证之前,我Session.Content在登录页面上创建一个随机值以启动 ASP.NET_SessionId 2)然后我进行身份验证并进行进一步的会话 3)其他浏览器现在似乎可以工作

这很奇怪。我只能得出结论,这与 ASP 和 OWIN 认为它们位于不同的域或类似的东西有关。

更新 3 - 两者之间的奇怪行为。

发现了其他奇怪的行为 - Owin 和 ASP 会话的超时是不同的。我所看到的是,通过某种机制,我的 Owin 会话比我的 ASP 会话存活的时间更长。所以登录时:1.)我有一个基于 cookie 的身份验证会话 2.)我设置了一些会话变量

我的会话变量(2)在 owin cookie 会话变量强制重新登录之前“死亡”,这会导致整个应用程序出现意外行为。(此人已登录但并未真正登录)

更新 3B

经过一番挖掘,我在一个页面上看到了一些评论,说“表单”身份验证超时和会话超时需要匹配。我通常认为两者是同步的,但无论出于何种原因,两者都不同步。

变通办法摘要

1)在认证之前总是先创建一个会话。基本上在启动应用程序时创建会话Session["Workaround"] = 0;

2) [实验性] 如果您坚持使用 cookie,请确保您的 OWIN 超时/长度比您的 web.config 中的 sessionTimeout 长(测试中)