0

这是我的设置:

我已经按照 Pro ASP.NET MVC3 Framework 中的 SportsStore 为我的应用程序建模。

对于那些没有书的人:

我有 2 个项目捆绑在一个解决方案中 -

--Project.Domain--

  Abstract(folder)
  ..IObjectRepository.cs

  Concrete(folder)
  ..EFObjectRepository.cs

  Entities(folder)
  ..Data.cs - contains class definition for Object

--Project.WebUI--

  Areas(folder)
  ..Area1
  ..Area2

  Infrastructure(folder)
  ..NinjectControllerFactory.cs

我的问题是如何使用 Ninject 组织自定义会员提供程序,以及我的应用程序当前的结构方式?

请提供 C# 代码并解释每个文件应该存在于我的结构中的什么位置。

还请提供所有在CustomMembershipProvider.

如果您想了解更多信息,请告诉我。

提前感谢您防止精神错乱。

4

1 回答 1

1

如果您想提供自己的实现,IAuthProvider您需要执行以下操作:

  • 将您的自定义类添加到 SportsStore.WebUI\Infrastructure\Concrete 并让它继承自IAuthProvider

    public class MyCustomAuthProvider : IAuthProvider { public bool Authenticate(string username, string password) { // 用你的自定义逻辑实现这个函数 throw new NotImplementedException(); } }

  • 在 NinjectControllerFactory 中更改绑定:

改变

ninjectKernel.Bind<IAuthProvider>().To<FormsAuthProvider>();

ninjectKernel.Bind<IAuthProvider>().To<MyCustomAuthProvider>();

这将改变你的依赖注入。AccountController 现在将使用您的自定义实现。

于 2012-06-19T09:46:12.777 回答