2017-01-28 12 views
0

Я работаю с аутентификацией в ASP.NET Web Api Core и в какой-то момент я обрабатывать данные пользователя:Получить идентификатор пользователя со всеми свойствами навигации

var user = await _userManager.GetUserAsync(HttpContext.User); 
... 
var userLogins = await _userManager.GetLoginsAsync(user); 
... 
var userClaims = await _userManager.GetClaimsAsync(user); 
... 

Проблема заключается в том GetUserAsync не загружает навигационные свойства, так что я должен загрузить их вручную после этого. Есть ли способ исправить это, не возвращая объект User напрямую через DataContext?

+0

вы можете получить претензии непосредственно из ClaimsPrincipal, но для всего остального я считаю, что вам нужно обрабатывать запрос самостоятельно –

ответ

0

В результате я создал фильтр, который запрашивает пользователя со всеми включенными свойствами навигации и сохраняет его в HttpContext.Items (для каждой коллекции запросов).

0

Вместо использования ASP.NET Core Identity вы изучили варианты с чем-то вроде cookie middleware?

Вы можете запускать свои собственные запросы и получать навигационные свойства с помощью .Includes(), а затем создавать свои собственные ClaimsPrincipal.