草庐IT

api安全

全部标签

c# - 安全使用 'HttpContext.Current.Cache'

我在这样的Web服务方法中使用Cache:varpblDataList=(List)HttpContext.Current.Cache.Get("pblDataList");if(pblDataList==null){varPBLData=dc.ExecuteQuery(@"SELECTblabla");pblDataList=PBLData.ToList();HttpContext.Current.Cache.Add("pblDataList",pblDataList,null,DateTime.Now.Add(newTimeSpan(0,0,15)),Cache.NoSliding

c# - 如何在 C# 中执行线程安全函数内存?

此处堆栈溢出found内存单参数函数的代码:staticFuncMemoize(thisFuncf){vard=newDictionary();returna=>{Rr;if(!d.TryGetValue(a,outr)){r=f(a);d.Add(a,r);}returnr;};}虽然这段代码为我完成了它的工作,但当同时从多个线程调用内存函数时,它有时会失败:Add方法使用相同的参数被调用两次并抛出异常。如何使内存线程安全? 最佳答案 您可以使用ConcurrentDictionary.GetOrAdd它做你需要的一切:stati

c# - autofac 是否支持新的 Web Api 2

我正在VS2013、MVC5、API2上开发WebAPI作为MVC/APIASP.NET的一部分,但我的AutofacWebApiDependencyResolver每次尝试注册时都会抛出异常:Additionalinformation:Inheritancesecurityrulesviolatedwhileoverridingmember:'Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()'.Securityaccessibilityoftheoverridingmethodmustmat

c# - 使用 HttpClient 和 Web API 方法 [FromBody] 参数发布到 Web API 最终为空

我正在尝试使用HttpClient发布到WebAPI。当我在WebAPI的Save方法中放置断点时,[FromBody]Product为空。这意味着我将产品发布到WebAPI的方式有问题。有人可以看看下面的代码,看看我可能哪里出错了。我假设它与标题和内容类型有关。从客户端存储库到WebAPI的POST调用应将产品对象作为JSON传递:publicasyncTaskSaveProduct(Productproduct){using(varclient=newHttpClient()){client.BaseAddress=newUri("http://localhost:99999/")

c# - 无法在 asp net core web API 中获取请求 header

我正在尝试在aspnetcorewebapi中创建一个自定义过滤器,如下所示,但无法获取header信息。internalclassBasicAuthFilterAttribute:ActionFilterAttribute{privateStringValuesxyz;publicoverridevoidOnActionExecuting(ActionExecutingContextactionContext){varauthHeader=actionContext.HttpContext.Request.Headers.TryGetValue("Basic",outxyz);}}T

c# - 为什么我的文件没有被我的 Web API 函数的 GET 请求返回?

我有一个可通过我的RESTAPI访问的函数,它配置了ASP.NETWebAPI2.1,它应该向调用者返回一个图像。出于测试目的,我只是让它返回我现在存储在本地机器上的示例图像。方法如下:publicIHttpActionResultGetImage(){FileStreamfileStream=newFileStream("C:/img/hello.jpg",FileMode.Open);HttpContentcontent=newStreamContent(fileStream);content.Headers.ContentType=newSystem.Net.Http.Heade

c# - DB-First 身份验证与 ASP.NET Web API 2 + EF6 混淆

我需要为现有的MySQL数据库创建WebAPIC#应用程序。我已经设法使用EntityFramework6将每个数据库表绑定(bind)到RESTfulAPI(允许CRUD操作)。我想实现一个登录/注册系统(以便我可以在未来实现角色和权限,并限制某些API请求)。我必须使用的MySQL数据库有一个用户表(称为user),它具有以下不言自明的列:id电子邮件用户名password_hash似乎身份验证的事实标准是ASP.NetIdentity。我花了最后一个小时试图弄清楚如何使Identity与现有的DB-FirstEntityFramework设置一起工作。如果我尝试构造Applica

c# - 为什么这个 web api Controller 不是并发的?

我有一个WebAPIController,其中包含以下方法:publicstringTester(){Thread.Sleep(2000);return"OK";}当我调用它10次(使用Fiddler)时,我预计所有10次调用都会在大约2秒后返回。然而,调用分别在2、4、8...20秒后返回。是什么阻止它同时运行?我该如何解决?常规Controller的行为是否与web-apiController相同? 最佳答案 您描述的内容与ASP.NETsession状态的默认行为相匹配,可以通过在web.config中禁用它来解决。Acces

c# - 无法创建 SSL/TLS 安全通道 - 问题可能出在代理服务器上吗?

我有一个c#应用程序,它调用一个使用证书进行身份验证的Web服务方法。该代码有效,因为当它安装在服务器A(没有代理)上时,它会进行身份验证。当我在客户端站点的服务器B上安装代码时,它安装在代理后面。我真的几乎尝试了所有方法,但我一直收到此错误:无法创建SSL/TLS安全通道您认为此问题可能是由代理服务器引起的吗?如果您对此有任何个人经验,请分享。谢谢 最佳答案 根据我的经验,几乎所有此类消息都是由于链中的某些机器(客户端、代理、服务器)出于某种原因不“喜欢”证书。详细说明twk所说的内容,如果您使用的是自签名证书或您自己的CA,您需

c# - 授权整个安全组在 ASP.Net MVC 中执行操作

我想授权用户在我的Controller中执行特定操作。我找到了ASP.NETtutorial这解释了如何允许单个用户执行特定操作,但这可以扩展到安全组吗?例如,如果代码如下所示,属于“domain\group”安全组的每个人都可以访问GetSecrets操作吗:[Authorize(Users="domain\group")]publicActionResultGetSecrets(){returnView();}如果没有,我该怎么做? 最佳答案 您想使用Roles属性(property)。请注意,这可以是逗号分隔的角色列表。[Au