加密请求/效应初探在MVC4的WebAPI(Encrypt Request/Reponse in M

2019-10-16 13:58发布

我有接收加密请求和加密的响应一旦完成一个旧的API。 我试图在此切换到mvc4的WebAPI,它已经顺利,直到我打这个加密。 我需要的是,当谈到在这样的MVC将正确作用于它来解密请求的方式。 此外,一旦该过程完成加密发送之前的响应。 我不希望把加密部分的每个动作。

注意:身体还在正确格式化为一个单一的项目,所以我会推动这一切通过与我自己的选择一个动作,而是希望有一个更适当的休息风格的实现。

Answer 1:

你应该能够用了MessageHandler做到这一点。 有一堆的如何创建MessageHandlers例子WebAPIContrib



Answer 2:

你可以实现你自己的模型绑定

public class DecObjModelBinder : IModelBinder
{   


  public object BindModel(ControllerContext controllerContext, 
      ModelBindingContext bindingContext)
   {
    //make a instance of your object
    var myObj = new DecObj()

    //bind the properties from my obj

    myObj.Title= bindingContext
        .ValueProvider
        .GetValue("Title") // The Property name sent from the browser
        .ToString();

    /* then the property you want to decrypt */
    var encBody = bindingContext
        .ValueProvider
        .GetValue("EncBody") // The Property name sent from the browser
        .ToString();

    /* decryption logic here to the encBody then after assign the decrypted value to myObj*/

    return myObj;
   }

然后您注册ModelBinder中的Application_Start通过在Global.asx: ModelBinders.Binders.Add(typeof(DecObj), new DecObjModelBinder());



文章来源: Encrypt Request/Reponse in MVC4 WebApi