Сообщение об ошибке: System.FormatException: входная строка имеет неправильный формат.
Анализ основной причины: исключение выдается на этапе разрешения личности. Похоже, что когда сеанс пользователя не содержит ролей, NetCoreIdentityAuthProvider следует по резервному пути для заполнения ClaimTypes.NameIdentifier, который пытается проанализировать UserAuthId как целое число. Если пользователю назначена хотя бы одна роль, удостоверение разрешается правильно, что подтверждает, что проблема локализована в логическом пути пустых ролей поставщика.
Минимальное воспроизведение:
- Используйте AuthRepository с GUID в качестве UserAuthId.
- Настройте NetCoreIdentityAuthProvider в ASP.NET Core.
- Аутентификация пользователя без записей в таблице UserAuthRole.
- Доступ к любому ресурсу, который запускает промежуточное программное обеспечение аутентификации .NET Core.
Подробнее здесь: https://stackoverflow.com/questions/798 ... using-guid
Мобильная версия