我只是.NET世界的初學者,我創建了一個web api(.NET 4.5.2),我使用上面的註釋[Authorize]如控制器如下圖所示:如何使用安全的Rest Rest MVC web api
[Authorize]
public class PhasesController : ApiController
{
private TestReportEntities db = new TestReportEntities();
// GET: api/Phases
public IQueryable<Phase> GetPhase()
{
return db.Phase;
}
}
我已經創建了我的數據庫,我使用的是web.api用於管理訪問的默認表,你可以在這個圖像上看到:
我已經做了一個方法來請求我的web api,在另一個項目/解決方案,它的工作當我從我的web api控制器中刪除註釋[Authorize]時很好。
這是關於我如何請求我的API的例子:
public int GetCurrentIdPhase(int idProject)
{
int phaseId = -1;
WebRequest request = WebRequest.Create(string.Concat(URL, string.Format("api/phases/?idProject={0}", idProject)));
using (var resp = (HttpWebResponse)request.GetResponse())
{
using (var reader = new StreamReader(resp.GetResponseStream()))
{
string objText = reader.ReadToEnd();
var phase = JsonConvert.DeserializeObject<List<Phase>>(objText);
phaseId = phase[0].id;
}
}
if (phaseId != -1)
{
return phaseId;
}
else
{
throw new Exception("Phase not found");
}
}
在這一天結束我的問題是:
- 我如何申請令牌到我的API( POST - www.myApi /令牌)使用上面的例子?
- 如何在我的API的每個請求中使用該令牌?
如果你能幫助我,我會非常感激。
謝謝。
http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api 從該頁面的ToC中還有很多文章 – BlackICE
This答案也可以幫助:http:// stackoverflow。com/a/12525250/264607 – BlackICE