本地ASP.NET开发页面使用AzureAD(AAD)验证登录

Azure和Office365已不是一个热门话题了,因为所谓的云时代已经走进了技术大师们的内心,大家多少有一定了解了,所以就不多介绍了,我的Blog中之前也写了很多关于Azure及Office365的相关文章,如果有兴趣的同学可以参考一下。一般企业内部如果使用了Azure或者Office365产品的话,都会跟本地的域进行验证绑定,然后可以使用相关工具(Dirsync & Azure AD Connect)将本地的域用户同步到AAD里面,然后配置ADFS使用本地的域用户格式进行登录及管理Azure相关服务等,当然也有其他的一些做法,具体就不介绍了,我们首先要知道,Azure 和Office365使用的是同一个AD服务,所以注册的时候自定义的域名称也就是唯一标识了,比如,当注册一个[email protected](portal.office.com)的office365顶订阅的账户的时候,系统也会保留一个[email protected];(manage.windowsazure.com)的订阅账户如果是国内供应商提高的需要将结尾更改为:partner.onm51CTO提醒您,请勿滥发广告!即可。在任何一个账户上新建账户都会显示。如果一开始注册了Office365,就可以通过https://manager.onmicrosoft.com进行提示注册或者管理对应的Azure订阅了,如果是注册了Azure,就可以通过访问https://portal.office.com 进行提示注册或管理对应的Office365订阅了。今天呢,我们主要介绍的是如果通过AAD验证本地开发的自定义web服务(ASP.NET)

首先是介绍一下大概的原理,原理就是我们需要在AAD中注册一个程序,然后通过配置程序值返回对应的URL信息,然后完成对应的验证,整个过程跟本地配置ADFS及ADFS验证登录过程非常类似,废话不多说了,具体见下:

我们当然是首先需要一个Azure账户,具体就不掩饰了,然后验证本地域;

我们首先加本地域添加到Azure中,我们只需要验证就可以,在dns中添加一条txt记录,不使用skype、exchange等服务即可;添加后,我们可以使用Azure AD Connect 工具将本地的用户同步到Azure AD中,当然,也可以直接在本地以添加的域新建用户。我们因为不用sso,所以不勾选sso

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第1张图片

开始验证DNS

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第2张图片

然后我们在公网DNS上添加验证记录

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第3张图片

验证成功

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第4张图片

然后我 可以看见在office365上也会出现域信息

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第5张图片

接下来我们添加用户;然后后缀名以本地域进行添加

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第6张图片

添加完成

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第7张图片

接下来就是添加应用程序了

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第8张图片

选择添加开的应用程序

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第9张图片

我们定义任意名称

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第10张图片

定义返回的url

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第11张图片

添加完成后,我们也可以通过配置选项进行修改

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第12张图片

我们首先选择客户端ID,复制数据

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第13张图片

复制后,我们在代码中修改;我们首先是通过Visual Studio打开相关的代码项目;配置好对应的路劲

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第14张图片

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第15张图片

打开web.config配置文件

   
    
    
      
        
        
        
      
             
                
            
             
    
      
      
        
        
      
      
        
          
            
            
          
          
            
            
          
          
            
            
          
          
            
            
          
          
            
            
          
          
            
            
          
          
            
            
          
          
            
            
          
          
            
            
          
          
            
            
          
          
            
            
          
        
      

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第16张图片

通过对应的数据进行修改即可

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第17张图片

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第18张图片

所以修改为 fanwei.onmicrosoft.com

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第19张图片

然后修改登录域名,国际版本为

国际版本为windows.net

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第20张图片

最后,修改需要返回的url

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第21张图片

,保存后,我们进行测试

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第22张图片

我们可以查看已经开始执行debug模式

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第23张图片

同时我们也可以查看到登录页面了,

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第24张图片

我们单击登录

我们发现直接跳转到了我们的新建的WEBSERVER的应用程序界面了,

其实该界面也类似于我们的ADFS界面

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第25张图片

我们使用[email protected]用户进行登录

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第26张图片

其实已经登录成功了,提示第一次登录需要修改密码

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第27张图片

我们按照提示修改一次密码,及正确登录

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第28张图片

------------------------------------------------------------------------------------------------------------------

我们为了更好的显示,我们修改本地的显示页面

定义显示内容即可

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第29张图片

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第30张图片

登录成功了。页面的右上角正常显示当前登录的用户名

本地ASP.NET开发页面使用AzureAD(AAD)验证登录_第31张图片