【问题标题】:ASP.NET Identity 2 - injecting ISecureDataFormat<>ASP.NET Identity 2 - 注入 ISecureDataFormat<>
【发布时间】:2014-06-23 22:48:05
【问题描述】:

我遇到了与here 相同的问题,但没有答案,只是使用 Unity。

我正在尝试在最新的 VS2013(更新 2)SPA/Web Api 模板中注册 ISecureDataFormat&lt;&gt;

我试过了

container.RegisterType(typeof(ISecureDataFormat<>), typeof(SecureDataFormat<>));
container.RegisterType<ISecureDataFormat<AuthenticationTicket>, SecureDataFormat<AuthenticationTicket>>();
container.RegisterType<ISecureDataFormat<AuthenticationTicket>, TicketDataFormat>();

它“有效”,但不是真的,因为它抱怨该树中的下一个依赖关系,IDataSerializer...,然后是下一个 IDataProtector,我没有找到任何实现。

【问题讨论】:

    标签: asp.net-identity asp.net-identity-2 unity-interception


    【解决方案1】:

    我使用以下映射解决了 SimpleInjector 中的以下错误

    container.Register<IDataSerializer<AuthenticationTicket>, TicketSerializer>();
    container.Register<IDataProtector>(() => new DpapiDataProtectionProvider().Create("ASP.NET Identity"));
    

    为了弄清楚使用了什么序列化程序,我注意到 AccountsController 中的 ISecureDataFormat 泛型参数是一个 AuthenticationTicket 类型。在检查 IDataSerializer 命名空间时,TicketSerializer 实现了 IDataSerializer。

    为了找出 IDataProtector,我再次查看了 IDataProtector 命名空间并找到了 IDataProtectionProvider 的实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-17
      • 2018-11-23
      • 2014-10-22
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多