草庐IT

c# - 使用 MVC5 和 OWIN 的自定义标识

我尝试将自定义属性添加到使用MVC5和OWIN身份验证的网站的ApplicationUser。我读过https://stackoverflow.com/a/10524305/264607我喜欢它如何与基本Controller集成以便轻松访问新属性。我的问题是,当我将HTTPContext.Current.User属性设置为我的新IPrincipal时,出现空引用错误:[NullReferenceException:Objectreferencenotsettoaninstanceofanobject.]System.Web.Security.UrlAuthorizationModule

c# - 没有 Owin 的 Asp.Net MVC 5?

Mvc5似乎依赖于Owin,如果您想自行托管或在Mac上运行,这非常好。但是假设我只想像以前的版本一样在IIS下运行,并且我对Owin提供的功能不感兴趣。默认的“空白”mvc5模板使用owin和其他15个依赖项。我试过一个一个地删除包,但似乎该站点不知道如何在不使用Owin的属性的情况下开始。那么,如何在没有Owin的情况下在iis下获得ASP.net、mvc5? 最佳答案 禁用Owin的简单方法在web.config中。文件和部分添加:要完全删除Owin,请右键单击您的项目,然后从菜单中单击ManageNugetPackages.

c# - owin oauth 发送附加参数

我确信这是可能的,但不确定如何实现。我有一个OWINOAUTH实现,它当前接受用户的用户名和密码并根据数据库对它们进行身份验证。我想扩展它以传递智能卡Uid以支持使用智能卡进行单点登录。我可以在OWIN登录中传递额外的参数吗?如果可以,如何传递?基本前提是用户可以使用用户名/密码组合或智能卡uid登录(如果传递智能卡uid并且在数据库中找到,则应用程序将使用户登录)我目前正在传递username、password和grant_type,我想向其中添加uid在我的AuthorizationServiceProvider中列出并选择它。我可以在OAuthGrantResourceOwner

c# - 在 System.Web 中为 Owin 使用 HttpContext 的替代方法

ASP.NET身份验证现在基于OWIN中间件,可以在任何基于OWIN的主机上使用。ASP.NETIdentity对System.Web没有任何依赖性。我有一个AuthorizeAttribute过滤器,我需要在其中获取当前用户并添加一些属性以便稍后由操作Controller检索。问题是我必须使用属于System.Web的HttpContext。Owin有HttpContext的替代方案吗?publicclassWebApiAuthorizeAttribute:AuthorizeAttribute{publicoverrideasyncTaskOnAuthorizationAsync(H

c# - 如何将 Autofac 与 WepApi 2 和 Owin 集成?

我正在使用这个包将Autofac与我的WebApiOwin应用程序集成:https://www.nuget.org/packages/Autofac.WebApi2.Owin并关注这篇文章:http://alexmg.com/owin-support-for-the-web-api-2-and-mvc-5-integrations-in-autofac/我在Startup.cs中的代码如下所示:varconfig=newHttpConfiguration();IContainercontainer=EngineContext.InitializeEngine();vardependen

c# - 依赖注入(inject)不适用于 Owin 自托管 Web Api 2 和 Autofac

我正在学习WebApi2、Owin和Autofac,需要一些指导。概览我有一个Owin自托管WebApi,它使用Autofac进行IoC和依赖项注入(inject)。该项目是一个类似于服务的控制台应用程序,这意味着它可以停止和启动。我有一个带有两个构造函数的身份验证Controller:一个无参数,另一个注入(inject)存储库。问题当我运行服务并调用api时,我的无参数构造函数被调用并且我的存储库永远不会被注入(inject)(_repository=null)。研究我做了相当多的研究,并在Github上找到了一些有用的项目,我将它们复制到了T恤上,但我遗漏了很大一部分难题。Thi

c# - “error: 19 - Physical connection is not usable” 在 Azure 数据库中具有 OWIN 访问权限

我已经尝试了关于可怕的“错误19”的所有其他帖子,发现少数有答案的帖子不适用或没有帮助,因此这篇新帖子。对于所有Azure+EF用户来说,这是一个非常严重的潜在问题。第一次出现:我使用的是VS2013EF6.1Razor项目中所有内容的最新版本(包列在末尾)。数据库托管在SQLAzure上。在运行我的webapp几次后(在开发环境中)我得到这个错误:从服务器接收结果时发生传输级错误。(提供者:session提供者,错误:19-物理连接不可用)它死掉的那一行总是这样的:我收集到的错误与连接池(和连接耗尽)有关,但我无法在任何地方发现泄漏。当我在整个应用程序中访问OWIN成员资格和其他数据

c# - 从 OWIN 中间件更改响应对象

我的OWIN中间件是这样的。(框架是ASP.NETWebAPI)。publicclassMyMiddleware:OwinMiddleware{publicMyMiddleware(OwinMiddlewarenext):base(next){}publicoverrideasyncTaskInvoke(OwinRequestrequest,OwinResponseresponse){varheader=request.GetHeader("X-Whatever-Header");awaitNext.Invoke(request,response);response.SetHeader

c# - 从 OWIN 中的 OAuth Bearer Token 获取 IPrincipal

我已经使用OWIN成功地将OAuth添加到我的WebAPI2项目中。我收到token并可以在HTTPheader中使用它们来访问资源。现在我还想在其他channel上使用这些token进行身份验证,这不是OWIN模板所针对的标准HTTP请求。例如,我正在使用客户端必须发送OAuthBearerToken进行身份验证的WebSockets。在服务器端,我通过WebSocket接收token。但我现在如何才能将此token放入OWIN管道以从中提取IPrincipal和ClientIdentifier?在WebApi2模板中,所有这些都是为我抽象的,因此我无需执行任何操作让它发挥作用。所以

c# - owin 身份验证中的当前用户

我开始为移动应用程序构建一个网络API,但我在实现身份验证方面遇到了困难。我使用Bearer,虽然一切都应该没问题,但我无法从Controller中的操作中获取当前用户。HttpContext.Current.User.Identity.Name为空(与HttpContext.Current.User.Identity.GetUserId()的结果相同)。以下是重要代码片段:启动.cs:publicpartialclassStartup{publicvoidConfiguration(IAppBuilderapp){varconfig=newHttpConfiguration();Co