Servicetack netcoreidentityauthprovider: System.FormatException при использовании идентификаторов GUIDC#

Место общения программистов C#
Ответить
Anonymous
 Servicetack netcoreidentityauthprovider: System.FormatException при использовании идентификаторов GUID

Сообщение Anonymous »

Я столкнулся с исключением System.FormatException в проекте .NET 10, использующем ServiceStack v10, при использовании строковых идентификаторов UserAuthId (GUID). Ошибка возникает, когда пользователю, прошедшему проверку подлинности, не назначены роли или разрешения.
Сообщение об ошибке: System.FormatException: входная строка имеет неправильный формат.
Анализ основной причины: исключение выдается на этапе разрешения личности. Похоже, что когда сеанс пользователя не содержит ролей, NetCoreIdentityAuthProvider следует по резервному пути для заполнения ClaimTypes.NameIdentifier, который пытается проанализировать UserAuthId как целое число. Если пользователю назначена хотя бы одна роль, удостоверение разрешается правильно, что подтверждает, что проблема локализована в логическом пути пустых ролей поставщика.
Минимальное воспроизведение:
  • Используйте AuthRepository с GUID в качестве UserAuthId.
  • Настройте NetCoreIdentityAuthProvider в ASP.NET Core.
  • Аутентификация пользователя без записей в таблице UserAuthRole.
  • Доступ к любому ресурсу, который запускает промежуточное программное обеспечение аутентификации .NET Core.


Подробнее здесь: https://stackoverflow.com/questions/798 ... using-guid
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»