ASP.NET Web API 2中AuthorizeAttribute发生了什么变化? - c#

我已经将项目和一组单元测试从ASP.NET Web API升级到ASP.NET Web API 2。

我们将自定义DelegatingHandler用于自定义身份验证机制。

它将Thread.CurrentPrincipalHttpContext.Current.User设置为适当的System.Security.Claims.ClaimsPrincipal

当托管在IIS中(即正常运行)时,两者均已设置。
在单元测试中,仅设置Thread.CurrentPrincipal,因为HttpContext.Currentnull

由于升级到ASP.NET Web API 2,无需更改其他代码,因此Web托管版本可以正常工作,但单元测试失败。他们在升级之前工作。

ASP.NET Web API 2现在是否要求在HttpContext中设置主体?

参考方案

在Web API 2中,您将需要在请求对象上调用GetRequestContext()并将Principal属性设置为声明主体。

转到http://aspnetwebstack.codeplex.com/workitem/1294并找到“ davidmatson写于9月13日晚上10:18”。

ASP.NET图表在服务器上不起作用 - c#

我一直在尝试制作一个Web应用程序,当我在笔记本电脑上运行它时,一切似乎都还可以,但是当我尝试将其上传到服务器中时,它却无法正常工作。我在.net 4上使用了Godaddy Windows服务器。我尝试修改web.config文件,但它似乎不起作用。这就是我的临时图像在web.cofig中保存位置的样子 <add key="ChartImag…

ASP.NET MVC 5自定义登录,无需脚手架,数据库优先 - c#

我对asp.net和mvc还是很陌生,所以我正在努力学习尽可能多的知识...为此,我从头开始编写博客网站,但是我对身份验证和授权有些困惑。由于我倾向于不真正使用任何脚手架的东西,所以我首先要使用数据库,所以不希望asp.net身份为我创建表。我对散列和加盐密码很酷,并对照数据库检查用户,我遇到的麻烦是将用户设置为登录状态并检查他们应该能够访问什么。我真的很想…

ASP.NET-如何更改JSON序列化的方式? - javascript

我正在使用ASP.NET通过以下查询返回Json文件:public ActionResult getTransactionTotals(int itemID) { DBEntities db = new DBEntities(); var query = from trans in db.Transactions // Linq query removed …

asp.net oledbcommand返回所有行 - c#

我正在使用Oledbconnection连接到Microsoft Access数据库,并且正在使用OleDbCommand检索一些信息。我在数据库中有一个名为retrieveInfo的查询,该查询检索3行数据。字段中有一些重复项,但是应该是这样。我的数据如下所示: Name Email A [email protected] B [email protected] B C@gmai…

ASP.NET MVC在控制器中实施分析 - c#

我有这个控制器public ActionResult Download(Guid? codice) { if (codice == null) { return HttpNotFound(); } string _pathfile = "path-to-file"; byte[] fileBytes = System.IO.File.Re…