草庐IT

c# - 如何将 Owin 上下文传递给被注入(inject) Api Controller 的 Repo

我有一个MVCWebApiowin(软托管)项目,它使用Unity来解决Controller依赖性看起来像这样publicclassPacientaiController:ODataController{privatereadonlyIEntityReporepo;publicPacientaiController(IEntityReporepo){this.repo=repo;}我要解决的问题是如何将“OwinContex”传递到Repo。publicclassPacientasEntityRepo:IEntityRepo,IDisposable{publicPacientasEnt

c# - 如何将 Owin 上下文传递给被注入(inject) Api Controller 的 Repo

我有一个MVCWebApiowin(软托管)项目,它使用Unity来解决Controller依赖性看起来像这样publicclassPacientaiController:ODataController{privatereadonlyIEntityReporepo;publicPacientaiController(IEntityReporepo){this.repo=repo;}我要解决的问题是如何将“OwinContex”传递到Repo。publicclassPacientasEntityRepo:IEntityRepo,IDisposable{publicPacientasEnt

c# - 如何安全地拦截自定义 Owin 中间件中的响应流

我正在尝试编写一个简单的OWIN中间件,为了拦截响应流。我想要做的是用基于流的自定义类替换原始流,我将能够在其中拦截对响应流的写入。但是,我遇到了一些问题,因为我无法知道链中的内部中间件组件何时完全写入响应。永远不会调用Stream的Dispose覆盖。所以我不知道什么时候执行我的处理,这应该发生在响应流的末尾。这是一个示例代码:publicsealedclassCustomMiddleware:OwinMiddleware{publicCustomMiddleware(OwinMiddlewarenext):base(next){}publicoverrideasyncTaskInv

c# - 如何安全地拦截自定义 Owin 中间件中的响应流

我正在尝试编写一个简单的OWIN中间件,为了拦截响应流。我想要做的是用基于流的自定义类替换原始流,我将能够在其中拦截对响应流的写入。但是,我遇到了一些问题,因为我无法知道链中的内部中间件组件何时完全写入响应。永远不会调用Stream的Dispose覆盖。所以我不知道什么时候执行我的处理,这应该发生在响应流的末尾。这是一个示例代码:publicsealedclassCustomMiddleware:OwinMiddleware{publicCustomMiddleware(OwinMiddlewarenext):base(next){}publicoverrideasyncTaskInv

c# - 授权角色 WebAPI oauth owin

我使用OWIN中间件在ASP.NETWebAPI上实现了token授权系统。我可以成功地通过REST客户端进行身份验证并获得授权token来调用API。如果我将[Authorize]属性放在我的Controller中的GET操作上,它也可以正常工作。如果我没有有效的token,它会通过401消息拒绝资源,但如果我使用[Authorize(Roles="admins")]和roles参数,它不识别用户的角色。我验证了数据库中的内容并检查了usersinroles是否已正确填写。这是一段代码:[Authorize(Roles="admins")]publicIEnumerableGet()

c# - 授权角色 WebAPI oauth owin

我使用OWIN中间件在ASP.NETWebAPI上实现了token授权系统。我可以成功地通过REST客户端进行身份验证并获得授权token来调用API。如果我将[Authorize]属性放在我的Controller中的GET操作上,它也可以正常工作。如果我没有有效的token,它会通过401消息拒绝资源,但如果我使用[Authorize(Roles="admins")]和roles参数,它不识别用户的角色。我验证了数据库中的内容并检查了usersinroles是否已正确填写。这是一段代码:[Authorize(Roles="admins")]publicIEnumerableGet()

c# - WebAPI - 统一来自 ApiController 和 OAuthAuthorizationServerProvider 的错误消息格式

在我的WebAPI项目中,我使用Owin.Security.OAuth添加JWT身份验证。里面GrantResourceOwnerCredentials在我的OAuthProvider中,我使用以下行设置错误:context.SetError("invalid_grant","Accountlocked.");这返回给客户端:{"error":"invalid_grant","error_description":"Accountlocked."}在用户通过身份验证并尝试对我的一个Controller发出“正常”请求后,当模型无效时(使用FluentValidation),他得到以下响

c# - WebAPI - 统一来自 ApiController 和 OAuthAuthorizationServerProvider 的错误消息格式

在我的WebAPI项目中,我使用Owin.Security.OAuth添加JWT身份验证。里面GrantResourceOwnerCredentials在我的OAuthProvider中,我使用以下行设置错误:context.SetError("invalid_grant","Accountlocked.");这返回给客户端:{"error":"invalid_grant","error_description":"Accountlocked."}在用户通过身份验证并尝试对我的一个Controller发出“正常”请求后,当模型无效时(使用FluentValidation),他得到以下响

c# - 转换 Web API 以使用自托管

我正在尝试将现有的ASP.NETWebAPI项目(目前托管在IIS中)转换为可以使用SelfHost框架的项目。我对实际细节有点模糊,但我知道我可以在控制台窗口中运行自托管服务器,然后在其上运行服务。我遇到的问题是我的项目是MVC项目而不是控制台项目。我对控制台/Windows应用程序的熟悉程度有限,因为我通常处理要在IIS中托管的项目。我有点困惑的是,我是否需要将我在VisualStudio中的现有WebAPI项目转换为新的控制台应用程序,或者是否有办法在解决方案中创建另一个控制台应用程序项目,它可以充当WebAPI服务的Web服务器,或者更确切地说,如果有一种方法可以将带有Main

c# - 转换 Web API 以使用自托管

我正在尝试将现有的ASP.NETWebAPI项目(目前托管在IIS中)转换为可以使用SelfHost框架的项目。我对实际细节有点模糊,但我知道我可以在控制台窗口中运行自托管服务器,然后在其上运行服务。我遇到的问题是我的项目是MVC项目而不是控制台项目。我对控制台/Windows应用程序的熟悉程度有限,因为我通常处理要在IIS中托管的项目。我有点困惑的是,我是否需要将我在VisualStudio中的现有WebAPI项目转换为新的控制台应用程序,或者是否有办法在解决方案中创建另一个控制台应用程序项目,它可以充当WebAPI服务的Web服务器,或者更确切地说,如果有一种方法可以将带有Main