Я пытаюсь реализовать собственный менеджер роли в приложении MVC5, используя следующие Custom Role Provider Tutorial.Custom Role Manager/Provider
Я создал свой поставщик пользовательских ролей, воспользовавшись двумя требуемыми функциями.
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>
Однако, когда я пытаюсь получить доступ к моему приложению я получаю следующее сообщение об ошибке:
Parser Error Сообщение: Не удалось загрузить тип '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 подход?
Итак, есть ли простой способ передвижения между ними? Все примеры, которые я нашел на страницах с использованием страниц идентификации Identity! У меня есть пользовательские таблицы с созданными ролями и действиями, которые я хочу проверить с атрибутом авторизации в Action. Я действительно хочу сохранить все роли против моего объекта UserPrincipal при входе в систему, а затем использовать его на протяжении всего сеанса. –