问题标签 [owin]

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 投票
2 回答
4119 浏览

asp.net-mvc-routing - 无法解析到 MVC 控制器的属性路由

我正在使用基于 OWIN 的命令行 Self-Host 应用程序,新的属性路由非常适合我的 Web API 控制器。但是,它们似乎不适用于我的常规 MVC 控制器。

我已经尝试在我的 start 方法中使用路由模板以旧方式映射路由,并且我也尝试使用属性路由进行映射。无论哪种方式,当我尝试访问这些路线时都会得到 404。

在我的开始代码中,我调用了在 Owin.WebApiAppBuilderExtensions 类中定义的 IAppBuilder.UseWebApi(...) 扩展方法,但我没有看到 MVC 的等效方法,例如 UseMvc(...)。它们能共存吗?我错过了一些明显的东西吗?

这是我的开始代码:

这是我的普通旧 MVC 类:

当我点击/Home/Index我的应用程序时,我得到 404。

0 投票
1 回答
8166 浏览

c# - 无法让“UseOAuthBearerTokens”与 Owin 和 Identity RTM 一起使用

我用

但 url http://example.com/Token/返回错误:

无法找到该资源。

0 投票
3 回答
7276 浏览

entity-framework - 自定义 ASP.NET Identity (OWIN) 使用实体框架的详细信息

这个博客:

http://blogs.msdn.com/b/webdev/archive/2013/06/27/introducing-asp-net-identity-membership-system-for-asp-net-applications.aspx

关于 ASP.NET 身份提供者状态:

持久性控制

默认情况下,ASP.NET 身份系统会将所有用户信息存储在数据库中。ASP.NET Identity 使用 Entity Framework Code First 来实现其所有的持久性机制。

如果您的应用程序要求此信息可能存储在不同的存储机制中,例如 SharePoint、Azure 表服务、No Sql 数据库等。现在可以插入不同的存储提供程序。

但是如何使用 Azure 表服务呢?我的研究表明您不能将实体框架与表服务一起使用,因此我认为您必须完全替换使用实体框架的代码,但我不确定。

相关问题:我一般是 EF 的新手。我们如何自定义数据的存储方式(甚至在 SQL Server 中)?我发现了两个示例,它们显示向用户表添加额外字段:

http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on

http://www.asp.net/web-api/overview/security/external-authentication-services

但我不清楚到底发生了什么。我认为它首先使用实体​​框架代码,但我看到的关于如何自定义 EF 如何为此存储数据的文档很少。例如,我可以重命名实体吗?我可以定义将调用什么数据库吗?

谢谢...

-本

0 投票
3 回答
16331 浏览

asp.net - 使用 Owin 身份验证的服务器端声明缓存

我有一个曾经使用过的应用程序,FormsAuthentication不久前我将其切换为使用IdentityModelfromWindowsIdentityFramework以便我可以从基于声明的身份验证中受益,但是使用和实现起来相当难看。所以现在我在看OwinAuthentication

我在看OwinAuthenticationAsp.Net Identity框架。但是该Asp.Net Identity框架目前唯一的实现使用EntityModel并且我正在使用nHibernate. 所以现在我想尝试绕过Asp.Net Identity并直接使用Owin Authentication。我终于能够使用“如何忽略身份框架魔术并仅使用 OWIN auth 中间件来获取我寻求的声明? ”中的提示获得有效登录,但现在我持有声明的 cookie 相当大。当我使用它时,IdentityModel我能够使用服务器端缓存机制来缓存服务器上的声明,并且 cookie 只是为缓存信息保存了一个简单的令牌。中是否有类似的功能OwinAuthentication,还是我必须自己实现?

我希望我会在其中一艘船上...

  1. cookie 保持为 3KB,哦,它有点大。
  2. 启用类似于我不知道IdentityModel的 SessionCaching的功能。Owin
  3. 编写我自己的实现来缓存导致 cookie 膨胀的信息,看看我是否可以Owin在应用程序启动时配置它。
  4. 我做这一切都错了,有一种我没有想到的方法,或者我在Owin.

    /li>

更新 我能够使用宏业提供的信息获得预期的效果,我想出了以下逻辑......

0 投票
1 回答
1488 浏览

authentication - 如何更改 Owin.AuthenticationIdentityManager 的 PasswordValidator 设置?

此自动生成的代码注册了一个新用户:

我们如何更改密码验证设置?
这是我使用 dotPeek 发现的:
AuthenticationIdentityManager 类实例包含 UserManager,它使用 PasswordValidator 验证密码:
来自 Microsoft.AspNet.Identity.UserManager 类:

Microsoft.AspNet.Identity.IdentityOptions 类:

我找不到可以访问或替换 IdentityOptions 实例的位置。有没有示例或文档?

0 投票
1 回答
204 浏览

c# - Razor 显示文字 @Model.title 而不是值,具体取决于 Visual Studio 中哪个选项卡处于活动状态

我正在关注MSDN 杂志的新 Katana 文章。该页面没有显示模型的标题,而是按字面意思显示:

@Model.title

如果我在我的 HomeModule 中放置一个断点并单步执行它,那么页面会正确显示:

我们有问题...

这是 HomeModule:

为什么设置断点并因此更改时间会导致页面正确显示模型的标题?HTML 渲染速度是否过快?我不确定这是怎么回事,因为 HomeModule 不是决定返回什么 HTML 的吗?

注意:在 HomeModule 中放置断点时,会被命中两次。不知道为什么。也许这与它有关?

这是 Home.html 的开头。最后一行显示了@Model.title 部分。

编辑

所以这很奇怪。在 VS 2013 中,当我单击运行应用程序时,如果 HomeModule 是活动选项卡,我会得到正确的结果。如果 Home.html 是活动选项卡,我会得到文字 @Model.title。

0 投票
1 回答
15967 浏览

asp.net-mvc-5 - 使用asp.net身份更改当前用户的用户名后如何更改身份验证cookie

将 asp.net 身份版本 1.0.0-rc1 与 Entity Framework 6.0.0-rc1(随 Visual Studio 2013 RC 一起提供)一起使用。

试图让用户有机会改变他们的UserName. 下似乎没有该功能AuthenticationIdentityManager,因此我使用 EF 更改数据(获取当前用户的 User 对象,更改 UserName 并保存更改)。

问题是身份验证 cookie 保持不变,并且下一个请求失败,因为没有这样的用户。

过去通过表单身份验证,我使用以下代码来解决这个问题。

我应该如何处理 asp.net 身份来更新 cookie?

更新

以下代码似乎更新了身份验证 cookie。

剩下的问题是:如何IsPersistent从当前的身份验证 cookie 中提取值?

0 投票
1 回答
2052 浏览

oauth - 如何使用 Katana OAuth Bearer Tokens 做长寿命令牌

从 SPA 模板中,我设法使基本的 OAuth 流程正常工作。

我有一个托管在单独域上的单页应用程序,它将使用来自 Token 端点的不记名令牌与 webapi 交互。

我正在执行 ResourceOwnerCredentials 流程,请求包含以下数据:

这些令牌是短暂的。我现在想扩展我的应用程序,这样我就可以获得一个 repress 令牌或一些我不必一直进行身份验证的东西。我的下一步是什么?

GrantResourceOwnerCredentials 实现:

0 投票
1 回答
1234 浏览

oauth - 使用 Katana OAuthAuthorizationServer 刷新令牌的生命周期

从源代码沙箱 Webserver 中,刷新令牌是这样完成的:

这将创建与访问令牌具有相同生命周期的刷新令牌。

刷新令牌的合适生命周期是什么,以及将其告知 OAuthAuthorizationServer 的建议方式是什么。没有选项,我想知道我是否应该在上面的 createRefreshToken 上下文中在票证上更改它。

0 投票
1 回答
2246 浏览

.net - 是否可以使用 Katana 在 WinForms 应用程序中托管现有的 WebForms 应用程序?

最近我阅读了很多关于OWIN 和 Katana的内容,还尝试了诸如“使用 OWIN 自托管 ASP.NET Web API ”之类的示例。

我目前对是否可以使用这些技术在没有任何 IIS 的情况下完全在桌面应用程序(WinForms 或控制台)中托管现有的 WebForms ASP.NET 应用程序一无所知。

即这就是我所拥有的:

在此处输入图像描述

(现有的 Web 应用程序,用户通过 Internet 上的 Web 浏览器访问)

这就是我想要实现的目标:

在此处输入图像描述

(相同的现有 Web 应用程序文件,在 Katana 进程中本地托管,并通过网络浏览器通过 localhost URL 访问)

这将有助于以相当少的努力发布我们应用程序的两个版本(Web 和 Windows)。

我的问题:

是否有可能在今天或不久的将来创造这样的场景?