1

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

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

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

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

ответ

1

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

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

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

How to Upgrade an ASP.NET MVC 4 and Web API Project to ASP.NET MVC 5 and Web API 2

+0

спасибо, что работал на этот раз ... удачливый я пытался он сам ранее этим утром, когда я тоже наткнулся на него. однако это вызвало ошибку времени выполнения, поскольку мой файл конфигурации недействителен. на этот раз никаких проблем, хотя .. я, должно быть, изменил что-то еще с тех пор. –

+0

@RobertParkinson Ницца. :) – hutchonoid