Сбой User.IsInRole после перехода на Identity 2.0

Недавно я обновил свое приложение MVC 4 до MVC 5 и Identity 2.0, однако мне трудно заставить его работать. После входа в систему я получаю сообщение об ошибке «Не найден пользователь с таким именем», и структура сущности все еще создает старые таблицы simplemembership «webpages_Membership», «webpages_OAuthMembership», «webpages_Roles» и «webpages_UsersInRoles».

Я использовал методы Identity 2.0 для добавления нового пользователя и роли для учетной записи администратора, и они отображаются в этих таблицах.

Итак, мой вопрос заключается в том, как удалить все оставшиеся ссылки на simplemembership, чтобы я использовал только Identity 2.0. Я даже не знаю, где искать, чтобы найти вещи, чтобы удалить.

для справки. Я работаю над Visual Studio 2012 с установленным обновлением MVC 5 и инструментами. Мне не нужно удерживать существующих пользователей, поэтому не нужно беспокоиться о переносе данных. Просто нужна помощь, чтобы понять, почему он все еще использует simplemebership.


person Robert Parkinson    schedule 18.05.2015    source источник


Ответы (1)


Если ваше приложение использует метод User.IsInRole(), добавьте в файл Web.config следующее.

<system.webServer>
    <modules>
      <remove name="RoleManager" />
    </modules>
  </system.webServer>

Я столкнулся с той же проблемой, я нашел подробности здесь (4. Внизу страницы):

Как обновить проект ASP.NET MVC 4 и веб-API до ASP.NET MVC 5 и веб-API 2

person hutchonoid    schedule 18.05.2015
comment
спасибо, на этот раз сработало ... как ни странно, я сам попробовал это сегодня утром, так как тоже сталкивался с этим. однако это вызвало ошибку времени выполнения, в которой говорилось, что мой файл конфигурации недействителен. на этот раз никаких проблем, хотя .. должно быть, я изменил что-то еще с тех пор. - person Robert Parkinson; 18.05.2015
comment
@RobertParkinson Хороший. :) - person hutchonoid; 18.05.2015