问题标签 [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.
asp.net-mvc-routing - 无法解析到 MVC 控制器的属性路由
我正在使用基于 OWIN 的命令行 Self-Host 应用程序,新的属性路由非常适合我的 Web API 控制器。但是,它们似乎不适用于我的常规 MVC 控制器。
我已经尝试在我的 start 方法中使用路由模板以旧方式映射路由,并且我也尝试使用属性路由进行映射。无论哪种方式,当我尝试访问这些路线时都会得到 404。
在我的开始代码中,我调用了在 Owin.WebApiAppBuilderExtensions 类中定义的 IAppBuilder.UseWebApi(...) 扩展方法,但我没有看到 MVC 的等效方法,例如 UseMvc(...)。它们能共存吗?我错过了一些明显的东西吗?
这是我的开始代码:
这是我的普通旧 MVC 类:
当我点击/Home/Index
我的应用程序时,我得到 404。
entity-framework - 自定义 ASP.NET Identity (OWIN) 使用实体框架的详细信息
这个博客:
关于 ASP.NET 身份提供者状态:
持久性控制
默认情况下,ASP.NET 身份系统会将所有用户信息存储在数据库中。ASP.NET Identity 使用 Entity Framework Code First 来实现其所有的持久性机制。
如果您的应用程序要求此信息可能存储在不同的存储机制中,例如 SharePoint、Azure 表服务、No Sql 数据库等。现在可以插入不同的存储提供程序。
但是如何使用 Azure 表服务呢?我的研究表明您不能将实体框架与表服务一起使用,因此我认为您必须完全替换使用实体框架的代码,但我不确定。
相关问题:我一般是 EF 的新手。我们如何自定义数据的存储方式(甚至在 SQL Server 中)?我发现了两个示例,它们显示向用户表添加额外字段:
http://www.asp.net/web-api/overview/security/external-authentication-services
但我不清楚到底发生了什么。我认为它首先使用实体框架代码,但我看到的关于如何自定义 EF 如何为此存储数据的文档很少。例如,我可以重命名实体吗?我可以定义将调用什么数据库吗?
谢谢...
-本
asp.net - 使用 Owin 身份验证的服务器端声明缓存
我有一个曾经使用过的应用程序,FormsAuthentication
不久前我将其切换为使用IdentityModel
fromWindowsIdentityFramework
以便我可以从基于声明的身份验证中受益,但是使用和实现起来相当难看。所以现在我在看OwinAuthentication
。
我在看OwinAuthentication
和Asp.Net Identity
框架。但是该Asp.Net Identity
框架目前唯一的实现使用EntityModel
并且我正在使用nHibernate
. 所以现在我想尝试绕过Asp.Net Identity
并直接使用Owin Authentication
。我终于能够使用“如何忽略身份框架魔术并仅使用 OWIN auth 中间件来获取我寻求的声明? ”中的提示获得有效登录,但现在我持有声明的 cookie 相当大。当我使用它时,IdentityModel
我能够使用服务器端缓存机制来缓存服务器上的声明,并且 cookie 只是为缓存信息保存了一个简单的令牌。中是否有类似的功能OwinAuthentication
,还是我必须自己实现?
我希望我会在其中一艘船上...
- cookie 保持为 3KB,哦,它有点大。
- 启用类似于我不知道
IdentityModel
的 SessionCaching的功能。Owin
- 编写我自己的实现来缓存导致 cookie 膨胀的信息,看看我是否可以
Owin
在应用程序启动时配置它。 我做这一切都错了,有一种我没有想到的方法,或者我在
/li>Owin
.
更新 我能够使用宏业提供的信息获得预期的效果,我想出了以下逻辑......
authentication - 如何更改 Owin.AuthenticationIdentityManager 的 PasswordValidator 设置?
此自动生成的代码注册了一个新用户:
我们如何更改密码验证设置?
这是我使用 dotPeek 发现的:
AuthenticationIdentityManager 类实例包含 UserManager,它使用 PasswordValidator 验证密码:
来自 Microsoft.AspNet.Identity.UserManager 类:
Microsoft.AspNet.Identity.IdentityOptions 类:
我找不到可以访问或替换 IdentityOptions 实例的位置。有没有示例或文档?
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。
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 中提取值?
oauth - 如何使用 Katana OAuth Bearer Tokens 做长寿命令牌
从 SPA 模板中,我设法使基本的 OAuth 流程正常工作。
我有一个托管在单独域上的单页应用程序,它将使用来自 Token 端点的不记名令牌与 webapi 交互。
我正在执行 ResourceOwnerCredentials 流程,请求包含以下数据:
这些令牌是短暂的。我现在想扩展我的应用程序,这样我就可以获得一个 repress 令牌或一些我不必一直进行身份验证的东西。我的下一步是什么?
GrantResourceOwnerCredentials 实现:
oauth - 使用 Katana OAuthAuthorizationServer 刷新令牌的生命周期
从源代码沙箱 Webserver 中,刷新令牌是这样完成的:
这将创建与访问令牌具有相同生命周期的刷新令牌。
刷新令牌的合适生命周期是什么,以及将其告知 OAuthAuthorizationServer 的建议方式是什么。没有选项,我想知道我是否应该在上面的 createRefreshToken 上下文中在票证上更改它。
.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)。
我的问题:
是否有可能在今天或不久的将来创造这样的场景?