1

Я запускаю образец IdentityServer AspNetIdentity от https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/AspNetIdentity. Сам по себе, когда база данных в app.config установлена ​​в (LocalDb), она работает.Thinktecture IdentityServer 3 - образец идентификатора ASP.NET не работает

Я также сделал файл/новый проект в проекте MVC 5 + Web API 2. Я создал базу данных SQL в Azure SQL, указал новый проект на эту базу данных и создал там нового пользователя, что означает, что ASP.NET Identity запускает сценарии создания базы данных, и у меня есть обычные таблицы.

Так что, отдельно, они в порядке.

Затем я зашел в образец AspNetIdentity и указал его на недавно созданную базу данных SQL, которая была просто заполнена. Когда я запускаю образец ... он взрывается. В частности, в AspNetIdentityUserService.cs, в строке 188, где он вызывает UserManager.

protected async virtual Task<TUser> FindUserAsync(string username) 
    { 
     return await userManager.FindByNameAsync(username); 
    } 

Исключение:

SelfHost.vshost.exe Error: 0 : [Thinktecture.IdentityServer.Core.Configuration.Hosting.ErrorPageFilterAttribute]: 8/20/2015 7:26:40 PM +00:00 -- Exception accessing: /core/login 
System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Invalid column name 'FirstName'. Invalid column name 'LastName'. 
    at System.Data.SqlClient.SqlCommand.<>c__DisplayClass16.<ExecuteDbDataReaderAsync>b__17(Task`1 result) 
    at System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke() 
    at System.Threading.Tasks.Task.Execute() 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
    at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.<ExecuteStoreCommandsAsync>d__c.MoveNext() 
--- End of inner exception stack trace --- 
    at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.<ExecuteStoreCommandsAsync>d__c.MoveNext() 
--- End of stack trace from previous location where exception was thrown --- 
etc. 

Am Я-то недоразумение? Должен ли плагин AspNetIdentity извлекать из базы данных ASP.NET с обычным форматированием?

ответ

1

Этот образец использует расширенную версию базового идентификатора ASP.NET IdentityUser. См. User entity.

Это добавочные свойства FirstName и LastName, которые, согласно вашему исключению, вашей базы данных не имеют.

+0

Scott - Спасибо за ответ и за ваши сообщения в блоге, например https://www.scottbrady91.com/Identity-Server/Identity-Server-3-using-ASPNET-Identity. Очень полезно. – Scott

+0

Не беспокойтесь, рад, что это помогло! –

Смежные вопросы