asp.net-mvc-3 – 自定义成员资格提供程序和统一依赖注入
|
我发现了一些与我发布的问题类似的问题,但我并没有从他们那里得到我真正需要的东西.
定制会员: public class CustomMembershipProviderService : MembershipProvider
{
private readonly IUserService _userService;
public CustomMembershipProviderService(IUserService userService)
{
this._userService = userService;
}
public override string ApplicationName
{
...
用户服务: public class UserService : IUserService
{
private readonly IUserRepository _repository;
private readonly IUnitOfWork _unitOfWork;
public UserService(IUserRepository repository,IUnitOfWork unitOfWork)
{
this._repository = repository;
this._unitOfWork = unitOfWork;
}
...
的AccountController: public class AccountController : Controller
{
// next line is what I don't feel too sure about what to do?
// shouldn't my controller constructor use an Interface as its property?
private readonly CustomMembershipProviderService _customMembershipProviderService;
public AccountController(CustomMembershipProviderService customMembershipProviderService)
{
this._customMembershipProviderService = customMembershipProviderService;
}
...
如何为MembershipProvider类创建接口? 我试过了: public interface ICustomMembershipProvider : MembershipProvider 但我觉得这不行,所以我卡住了,不知道如何使用我的存储库,UoW,服务和Unity DI实现MembershipProvider 解决方法回答第二个问题MembershipProvider和RoleProvider的问题在于它们不是由容器构建的,而是由框架构建的. AFAIK设置活动成员资格提供程序的唯一方法是web.config文件. public class CustomMebershipProvider : ICustomMebershipProvider {
public bool ValidateUser(string user,string pwd) {
var svc = Global.Container.Resolve<IMyService>();
/* ... */
}
}
对第一个问题 您仍然可以使用Constructor Injection在控制器中注入活动成员资格提供程序. public interface ICustomMembershipProvider {
bool MyMethod();
/* From MembershipProvider */
bool ValidateUser(string username,string password);
/* ... */
}
然后让你的提供者实现它并注入: Container
.RegisterType<ICustomMembershipProvider>(
new InjectionFactory(c => (ICustomMembershipProvider) Membership.Provider))
当然,您仍然需要在web.config中注册自定义成员资格提供程序. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – Html.BeginForm()类型的扩展名
- asp.net – 如何从HttpClient.PostAsJsonAsync()生成的Cont
- asp.net-mvc – 使用键入的HTML助手时的模型前缀
- asp.net – 为什么Request.Cookies在foreach循环中返回字符
- asp.net – Web Api 2:“样例不可用”
- asp.net-mvc – ASP.NET MVC 3中的OutputCache行为
- asp.net – HttpContext.Current.Cache可用于所有会话
- asp.net-mvc – MVC Html.CheckBox和表单提交问题
- asp.net-mvc – ELMAH没有记录违规代码行号
- 最好的asp.net日历/日程安排组件?
- Asp.Net上传前检查文件大小
- asp.net-mvc – 使用MVC使用List填充@ Html.Drop
- asp.net-core – app.UseErrorHandler()可以访问
- asp.net-mvc – ASP.NET MVC:ValidationAttribu
- asp.net-mvc – 在自定义编辑器中只包含一次脚本
- asp.net – coldfusion和.net上的单点登录
- asp.net – 如何在IIS7中为HttpHandler注册多个路
- asp.net – 将Eval参数从ASPX文件传递给JavaScri
- ASP.net Web窗体,在编译时获取aspx /视图错误?
- ASP.net MVC v2 – 调试模型绑定问题 – BUG?
