मैं OpenIddict for token authentication का उपयोग कर रहा हूं। कल जब मैं userManager.FindByNameAsync(request.Username)
पर कॉल करता हूं तो मुझे रोल के साथ उपयोगकर्ता मिलता है।
आज मैं भूमिकाओं संपत्ति गिनती के साथ उपयोगकर्ता = 0.userManager.FindByName भूमिकाओं को वापस नहीं करता
मैं await userManager.GetRolesAsync(user);
साथ भूमिकाओं लोड करने का प्रयास हो और मैं इसका मतलब है कि उपयोगकर्ता भूमिकाओं है गिनती 3. के साथ सरणी मिलता है।
मुझे नहीं पता कि क्या बदल गया है, लेकिन मैं FindByNameAsync फ़ंक्शन के साथ भूमिकाओं के साथ उपयोगकर्ता को कैसे लोड कर सकता हूं?
पूरा कोड:
[HttpPost("token"), Produces("application/json")]
public async Task<IActionResult> Exchange(OpenIdConnectRequest request)
{
Debug.Assert(request.IsTokenRequest(),
"The OpenIddict binder for ASP.NET Core MVC is not registered. " +
"Make sure services.AddOpenIddict().AddMvcBinders() is correctly called.");
if (request.IsPasswordGrantType())
{
var user = await userManager.FindByNameAsync(request.Username); //roles count is 0
if (user == null)
{
return BadRequest(new OpenIdConnectResponse
{
Error = OpenIdConnectConstants.Errors.InvalidGrant,
ErrorDescription = "The email/password couple is invalid."
});
}
var roles = await userManager.GetRolesAsync(user); //roles count is 3
मैं क्यों टाइप नहीं कर सकता हूं। दावा (दावा) इत्यादि। और वास्तव में इसे प्राप्त करें – Hristo
मुझे नहीं लगता कि आपकी राय व्यक्त करने के लिए अपमान आवश्यक हैं। यदि आप 'Include' एक्सटेंशन का उपयोग करना चाहते हैं, तो आपको अपना स्वयं का स्टोर बनाना होगा (जिसे आधिकारिक ईएफ स्टोर से लिया जा सकता है) और उपयोगकर्ता उदाहरण लौटने वाले तरीकों को ओवरराइड करना होगा। – Pinpoint
यह सिर्फ पूरी तरह से बनाया गया है। आप अपनी आधा संपत्तियों को किसी भी तरह से पुनर्प्राप्त करते हैं - आधे दूसरे। किसने सोचा कि यह विचार अच्छा है !? प्रदर्शन? जब आप अपने देव समुदाय के आधे से कैंसर देते हैं तो आपके पास प्रदर्शन नहीं होगा – Hristo