- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在常规 Controller 中,以下代码有效:
[HttpPost]
public ActionResult Custom()
{
string name = User.Identity.GetUserName();
string id = User.Identity.GetUserId();
return Content(string.Format("Name:{0} </br> ID: {1}",name, id));
}
在 Web Api 2 Controller 中,名称和 id 字符串为空:
[HttpPost]
public IHttpActionResult Test()
{
string name = User.Identity.GetUserName();
string id = User.Identity.GetUserId();
return Ok();
}
谁能告诉我为什么 GetUserId()
在普通 Controller 中有效,但在阿皮?在这两种情况下,我都已登录,并且 GlobalConfiguration.Configure(WebApiConfig.Register);
添加到 Global.asax.cs
的 Application_Start()
中>.
我还有另一个问题。如果我用 [Authorize]
属性装饰我的 api Controller ,我什至无法访问我的 api。当我已经登录时, postman 将引导我进入登录页面。
[[Authorize]]
public class TestController : ApiController
{
....
最佳答案
NKosi 是正确的。这个问题让我困惑了一段时间,直到我读到了他的评论。
如果您的情况与我的情况一样,那么您需要为 WebAPI Controller 的所有经过身份验证的请求设置承载 token 。 MVC Controller 使用 cookie 身份验证,该身份验证已单独设置并有效。但对于 WebAPI Controller ,显然我们还需要做更多的跑腿工作。
在我的默认“个人用户帐户”WebAPI 项目中,我看到 session 存储变量“accessToken”已默认设置。我所要做的就是从该 session 存储变量中读取它,并确保从客户端到 WebAPI Controller 的每个请求都将“Authorization” header 设置为“Bearer [您的身份验证 token ]”。
来自,http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api ,这就是对 WebAPI Controller 的“获取”请求应该是什么样子。请注意“授权:”属性。
GET https://localhost:44305/api/values/1 HTTP/1.1
Host: localhost:44305
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0
Accept: */*
Authorization: Bearer imSXTs2OqSrGWzsFQhIXziFCO3rF...
X-Requested-With: XMLHttpRequest
关于asp.net - User.Identity.GetUserId() 方法在 Web Api 2 Controller 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38461321/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!