![](/img/trans.png)
[英]ASP.NET MVC 4 how to implement Oauth with custom membershipprovider and roleprovider
[英]How to programatically register a RoleProvider in ASP.NET MVC 5?
我已經使用依賴注入技術實現了角色提供程序。 因為該類沒有無參數構造函數(在那里注入了存儲庫),通常的web.config
注冊方法不起作用。
我試圖在我的Global.asax
應用程序啟動事件中手動注冊提供程序,但是我得到一個NotSupportedException
指出無法修改Roles.Providers
集合。
Roles.Providers.Clear();
Roles.Providers.Add(new RepositoryRoleProvider(new MyRepositoryFactory()));
在沒有無參數構造函數的情況下注冊角色提供程序的正確方法是什么?
有一篇文章介紹了如何實現和注冊角色提供程序 。 它使用“提供者模式”。
由於它使用“提供者模式”, 因此無法使用構造函數注入,因為構造函數被約束為使用默認的公共構造函數。
所以,你的選擇並不好:
Initialize
方法中實例化您的存儲庫工廠(注意它是否有默認構造函數,您可以將其類型字符串放在配置文件中並使用Activator.CreateInstance
來構造它)。 如果您有選擇,最好使用ASP.NET Identity而不是成員身份,因為它更友好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.