ウェブAPI認証フィルター

道のグローバル認定

パブリック静的クラスWebApiConfig
{
    パブリック静的ボイド登録(HttpConfiguration設定)
    {
        //ウェブAPI構成とサービス
        config.Filters.Add(新しいApiAuthorizeAttribute());
    }
}

 

第二の方法、ローカル認証

また認証に[ApiAuthorizeAttributeコントローラ前に、認証メソッド名を追加する前

[ApiAuthorizeAttribute]
パブリッククラスValuesController:ApiController
{
    [承認]
    公共のボイド・ポスト([FromBody]文字列値)
    {
    }
}

 カスタムファイルフィルタについては、以下の権限

/// <要約>
///認証フィルター
/// </要約>
パブリッククラスApiAuthorizeAttribute:AuthorizeAttribute
{
    保護されたオーバーライドブールのisAuthorized(HttpActionContextするactionContext)
    {
        t.Key == "トークン" t.Value.FirstOrDefault(選択)actionContext.Request.HeadersにおけるTからVAR tokenHeader =。
        (tokenHeader!= null)の場合
        {
            文字列トークン= tokenHeader.FirstOrDefault()。
            (もし!string.IsNullOrEmpty(トークン))
            {
                試します
                {
                    trueを返します。
                }
                キャッチ(例外の例)
                {
                    falseを返します。
                }
            }
        }
        falseを返します。
    }

    /// <要約>
    ///失敗した認証要求の処理
    /// </要約>
    保護されたオーバーライドボイドHandleUnauthorizedRequest(HttpActionContextするactionContext)
    {
        actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.OK、新しいです
        {
            コード= "3001"、
            MSG = "false" を、
            データ=新しいです{}
        }、 "アプリケーション/ JSON")。
    }
}

 

おすすめ

転載: www.cnblogs.com/sntetwt/p/11760473.html