很多时候企业开发的应用都会通过AD(Active Directory)进行验证用户名密码的,在企业里面统一一个AD来进行账号密码管理也是一个很好的实践。当企业打算将一个应用迁移到Azure的时候,使用AAD(Azure Active Directory)是一个很好的选择,但是如果采用AAD进行验证的话就需要将企业内的AD信息通过Azure AD Connect来进行账号密码的同步。很多企业的AD架构复杂,管理分散。一时间不一定能够将本地的AD和AAD链接在一起。这时候企业的开发团队又需要将一些企业应用部署到Azure上,如果将WEB应用部署到Cloud Service上的PaaS或者VM上面时可能问题不大,因为Cloud Service可以通过Site 2 Site VPN链接到企业内网,这样WEB应用可以直接通过内网地址直接访问AD。但是如果考虑将应用部署到Web Site上面的话,那就会遇到个小麻烦了,因为Web Site是不能加入到虚拟网络里面的,所以WEB Site跟企业的应用通信只能通过Internet了。为了给Azure Web Site访问AD就将AD直接暴露到Internet上面么(这是非常不安全的,IT管理员也不允许我们这么做),这时候可以选择的方法是在企业内网部署ADFS(Active Directory Federation Service),并且将ADFS的https(443)端口部署到Internet上,让Azure  Web Site能够访问就好了。

部署ADFS的过程,我在这里就省略了,下面我们直接进入跟Azure Web Site相关的内容

1.规划WEB应用的Url

Azure Web Site希望能够通过ADFS来进行验证的话,首先需要受到ADFS的信任,这时候我们先要规划好WEB Site的访问的域名譬如app.contoso.com或者直接用website分配到的dns名称。

在这里我们就直接用Azure分配的域名adfscall.chinacloudsites.cn好了。

2.设置ADFS的信任

拿到这个dns域名之后,我们就需要将这个域名交给ADFS的管理员进行下面的配置了。

2.1打开ADFS管理工具->选择信赖方信任->添加信赖方信任

2.2选择”手动输入有关信赖方的数据”

2.3填入信赖方的显示名,这里要注意一点就是这个显示名称在ADFS里面是唯一的,如果我们打算有很多的WEB应用来使用ADFS的时候,就要为每个WEB应用起一个有意义的名字以便管理

2.4选择配置文件

2.5 配置证书,如果你不打算用专有的证书进行加解密的话,直接选下一步就好了

2.6 配置WEB应用的Url

在这里我们就要填入前面拿到的WEB Site的DNS名称(或者是你自己规划好的app.contoso.com),这里要注意的是ADFS为了安全考虑,所以信赖方必须支持https请求的。

通常ASP.Net的程序开启ws-federation的支持就好了,JAVA的程序或者其他平台程序就可以考虑开启SAML 2.0的支持,因为JAVA对SAML的支持和开源库会更加好找

2.7配置标识符

2.8配置剁成身份验证

2.9选择办法授权规则

这些都直接用默认选项,直接选“下一步”

到这里我们就完成了信赖方的信任了,点击关闭之后会跳出下面的界面:

在这里我们需要点击添加规则,因为用户在AD里面会有很多属性,基于安全考虑,我们不一定要将所有的AD属性都给WEB应用使用的,WEB应用能够访问那些AD属性就是通过这里来配置的,通常我们会配置下面几个属性

到这里我们就完成了ADFS端对WEB应用的配置了,下一步我们就要在应用里面使用这个ADFS了。

为Azure Web Site 添加ADFS验证支持之二 在代码里使用ADFS

为Azure Web Site 添加ADFS验证支持之一 设置ADFS的信任关系的更多相关文章

  1. 为Azure Web Site 添加ADFS验证支持之二 在代码里使用ADFS

    下面我们来创建一个MVC 5.0的ASP.Net程序,并且将它部署到Azure Web Site上 通过Visual Studio 2015创建Web Project 在选择ASP.net模板的地方, ...

  2. Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  3. Windows Azure Web Site (7) Web Site配置

    <Windows Azure Platform 系列文章目录> 在上一章内容中,我们已经部署了Azure WebSite.我们可以在Web Site配置页面进行配置.如下图: 另外,我们还 ...

  4. Windows Azure Web Site (10) Web Site测试环境

    <Windows Azure Platform 系列文章目录> 我们知道,在使用Azure Cloud Service的时候,会有2个不同的环境,称为Production环境和Stagin ...

  5. Windows Azure Web Site (16) Azure Web Site HTTPS

    <Windows Azure Platform 系列文章目录> 我们在使用微软云Azure Web App的时候,会使用微软的二级域名:http://xxx.chinacloudsites ...

  6. Windows Azure Web Site (17) Azure Web Site 固定公网IP地址

    <Windows Azure Platform 系列文章目录> 在之前的文档中,笔者介绍了Azure Web Site是一个多租户的环境,每个部署单元有一个可以通过Internet访问的入 ...

  7. [New Portal]Windows Azure Web Site (3) 创建Web Site和云端数据库

    <Windows Azure Platform 系列文章目录> 在前一章的内容里,我介绍了使用Windows Azure Management Portal创建Web Site.本章,我将 ...

  8. Azure Web Site 之 利用Azure Web site 发布网站

    由于经常混迹于MSDN Azure论坛,少不了和一些外国朋友打交道.有的时候觉得还是有一些东西可以写出来与外国友人们分享下的, 所以就用一个开源项目建了一个英文blog项目. 在发布的时候,首选的就是 ...

  9. Windows Azure Web Site (6) 使用FTP发布Azure Web Site

    <Windows Azure Platform 系列文章目录> 笔者在之前的文章中介绍的都是使用IDE,也就是Visual Studio,将本地的aspx发布到Azure Web Site ...

随机推荐

  1. java面向对象的栈 队列 优先级队列的比较

    栈 队列 有序队列数据结构的生命周期比那些数据库类型的结构(比如链表,树)要短得多.在程序操作执行期间他们才被创建,通常用他们去执行某项特殊的任务:当完成任务之后,他们就会被销毁.这三个数据结构还有一 ...

  2. OrderSys---Spring 计划(第一天)

    Sprint 计划会议: 目标: 1.了解需求分析书的内容 2.划分OrderSys的功能模块 3.开始制作原型 Sprint 3 Backlog细化: ID Name Est How to demo ...

  3. 2018-2019-20172329 《Java软件结构与数据结构》第四周学习总结

    2018-2019-20172329 <Java软件结构与数据结构>第四周学习总结 经过这样一个国庆节的假期,心中只有一个想法,这个国庆假期放的,不如不放呢!! 教材学习内容总结 < ...

  4. 软工1816 · Alpha冲刺(8/10)

    团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员1(组长):王彬 过去两天完成了哪些任务 推进前后端各个接口的整合 学习jQuery基本语法,为beta阶段的商铺页面做准备 接下 ...

  5. Alpha 冲刺10

    队名:日不落战队 安琪(队长) 今天完成的任务 整理项目. okhttp学习第四弹. 明天的计划 okhttp学习第五弹. 阶段反思. 睡觉. 还剩下的任务 个人信息数据get. 遇到的困难 困难:好 ...

  6. python获取前几天的时间

    days的参数就是你想获取前多少天的数据,如果是昨天的话,则days=1 import datetime today=datetime.date.today() oneday=datetime.tim ...

  7. Qt多线程-总结QThread-QThreadPool-QtConcurrent

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt多线程-总结QThread-QThreadPool-QtConcurrent     本文 ...

  8. excel表中判断A列与B列内容是否相同,相同的话在C列按条件输出!

    判断两列数据是否相同,有以下几个函数判断(做笔记于此,方便以后查找): 1.=IF(AND(A4=B4),"相同","") 在C列输出相同字符 2.=IF(A1 ...

  9. Mybatis 点点滴滴

    相比 Hibernate ,Mybatis 实在是学习门槛低多了. 1 . 类属性和表字段的自动对应 当向数据库中插入一行数据时,<insert>标签中的占位符#{}中的占位符的值写 mo ...

  10. android面试(4)---文件存储

    1.sharePreference? SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. SharedPreferences保存数据,其背后是用xml文件存放 ...