Я пытаюсь реализовать настраиваемый диспетчер ролей в приложении MVC5, используя следующий настраиваемый поставщик ролей Учебник.
Я создал своего поставщика настраиваемых ролей, перекрывая 2 требуемые функции.
namespace Models.Security
{
public class CustomRoleProvider : RoleProvider
{
/// logic
public override string[] GetRolesForUser(string username)
{
/// logic
public override bool IsUserInRole(string username, string roleName)
{
Затем мне нужно изменить мою веб-конфигурацию, чтобы использовать этого нового провайдера ...
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
<roleManager enabled="true" defaultProvider="CustomRoleProvider">
<providers>
<clear />
<add name="CustomRoleProvider" type="Models.Security.CustomRoleProvider"/>
</providers>
</roleManager>
Однако когда я пытаюсь получить доступ к своему приложению, я получаю следующую ошибку:
Сообщение об ошибке парсера: не удалось загрузить тип Models.Security.CustomRoleProvider.
Source Error:
Line 29: <providers>
Line 30: <clear />
Line 31: <add name="CustomRoleProvider" type="Models.Security.CustomRoleProvider"/>
Line 32: </providers>
Line 33: </roleManager>
Насколько мне известно, я сделал все, что требовалось. Единственное, что отличается, это то, что я использую настраиваемую ссылку членства на AD.
<authentication mode="Forms">
<forms name=".ADAuthCookie" loginUrl="~/Account/Login" timeout="200" slidingExpiration="false" protection="All" />
</authentication>
<membership defaultProvider="ADMembershipProvider">
<providers>
<clear />
<add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName" />
</providers>
</membership>
Что мне еще нужно сделать? Изменил ли MVC5 подход?