簡體   English   中英

如何為Web API GET請求指定用戶名和密碼

[英]How to specify user name and password for Web API GET request

ASP.NET MVC4 WebAPI應用程序使用WebAPI的表單身份驗證:

[Authorize]
public class EntityController : APIBase
{
    public HttpResponseMessage Get(string id,
        string _sidx = null,
        string _sord = null,
        uint _page = 1,
        uint _rows = 100,
        string _filters = null,
        int? _dokumnr = null,
        int? _vmnr = null,
        string _isik = null,
        uint _npage = 1,
        bool _unpaid = false,
        uint _layout = 0,
        string _culture = null
    )
    {
 ....

這需要傳遞身份驗證cookie。 如何允許從瀏覽器URL調用Get()方法。

用戶名和密碼可以在URL中指定

http:://user:pass@mysite.com/API/Entity/Customer

或者作為查詢字符串

http:://mysite.com/API/Entity/Customer?user=myuser&password=mypass

如何在API控制器中獲取用戶和密碼,並使用表單身份驗證驗證這些憑據,就像授權屬性一樣?

或者有更好的方法從瀏覽器URL調用此API方法`?

首先,您應該使用ViewModels,因為您的Actions有很多參數,出於安全考慮,您不應該通過querystring傳遞用戶名和密碼。 如果您的方案更具體,您可以創建自己的[Authorize]過濾器,並將驗證邏輯放在那里。 您的身份驗證信息將通過請求標頭命中服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM