Azure AD多租户应用程序-检查用户是否被授权使用我的应用程序

问题描述 投票:0回答:1

我已经开发了一个网站,该网站使用asp.net和owin与Azure AD集成。我已将该应用程序注册为AD中的多租户应用程序,这意味着拥有工作或学校帐户的每个人都可以登录我的应用程序。很好,这就是我想要的,但是在对用户进行身份验证之后,我需要检查是否已授权登录用户使用我的应用程序(他是否已注册为用户?他是否有许可证?)实现此方法?我要挂接到openid连接中间件SecurityTokenReceived事件并在那里进行检查吗?

Notifications = new OpenIdConnectAuthenticationNotifications
            {
                SecurityTokenReceived = OnSececurityTokenReceived
            }

private Task OnSececurityTokenReceived(SecurityTokenReceivedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> context)
    {
        //check if this user is registered as a user of my app and has a valid license?;
        return Task.FromResult(0);
    }

或者有更好的方法吗?如果这是一种解决方法,如果不允许用户进入我的应用程序,我将如何处理?我应该以某种方式中止登录过程并重定向到错误页面吗?

c# asp.net owin openid-connect owin-middleware
1个回答
0
投票

我自己找到了答案。是的,这是正确的方法,如果我必须中止登录过程,我将抛出System.IdentityModel.Tokens.SecurityTokenValidationException(“您不允许登录到此应用程序”);

在这里找到答案:https://www.microsoftpressstore.com/articles/article.aspx?p=2473126&seqNum=2

热门问题
推荐问题
最新问题