.net core 如何确定当前用户是否登录到.NET Core 3.1中的Azure AD

.net core 如何确定当前用户是否登录到.NET Core 3.1中的Azure AD,.net-core,azure-active-directory,asp.net-core-mvc,.net Core,Azure Active Directory,Asp.net Core Mvc,我有一个.NET Core 3.1程序,该程序托管一个Angular 9应用程序,该应用程序将由使用Azure广告的公司的用户使用。我需要确定用户是否已登录他们的Azure广告,如果已登录,请获取有关他们的一些信息。我想在为用户加载Angular应用程序之前确定这一点。这在标准的Windows广告和.NET中非常简单,但我找不到如何使用.NET Core和Azure广告来实现这一点 我在下面添加了一些伪代码,以帮助了解我试图实现的目标: [ApiController] [Authorize] [

我有一个.NET Core 3.1程序,该程序托管一个Angular 9应用程序,该应用程序将由使用Azure广告的公司的用户使用。我需要确定用户是否已登录他们的Azure广告,如果已登录,请获取有关他们的一些信息。我想在为用户加载Angular应用程序之前确定这一点。这在标准的Windows广告和.NET中非常简单,但我找不到如何使用.NET Core和Azure广告来实现这一点

我在下面添加了一些伪代码,以帮助了解我试图实现的目标:

[ApiController]
[Authorize]
[Route("api/[controller]/[action]")]
public class AuthenticationController : ControllerBase
{
    public AuthenticationController()
    {

    }


    [AllowAnonymous]
    [HttpPost]
    public LoginResult Login([FromBody] LoginRequestDC loginRequest)
    {
        LoginResult lr = new LoginResult();

        if (loginRequest != null)
        {
            try
            {
                if(NotLoggedInAzureAD)
        {
                    lr = LoginWithUserNameAndPasswordAndGetInfoFromDataBase(loginRequest);
        }
        else
        {
        lr.IsLoggedIn = true;
        lr.UserInfo = GetInfoFromAzureAD;
        }
            }
            catch (Exception ex)
            {
                Common.AppLogger.Error(ex, $"Unable to login.");
            }
        }

        return lr;
    }

private bool NotLoggedInAzureAD()
{
    //Not sure how you would get the Azure AD user in .net core 
    return CodeToAskAzureADIfUserLoggedIn(MyHttpContext.Current.User.Identity.Name);
}

private UserInfo GetInfoFromAzureAD()
{
    return CodeToAskAzureADForUserInfo(MyHttpContext.Current.User.Identity.Name);
}
 }
请提供帮助。

查看。有很多示例,例如.NET核心Web应用程序。比如,它是一个.NET核心3.1


但我建议您先从开始,浏览,最后了解Microsoft Identity Platform中的。

请添加一些代码或伪代码。你目前的描述不清楚。你想什么时候查看Azure广告?用户是如何登录的?应用程序是web api、Blazor、razor还是web mvc?我找到了有关Azure广告的文档,但我还不知道详细信息-我也在学习:。