为Azure Web Site 添加ADFS验证支持之一 设置ADFS的信任关系
很多时候企业开发的应用都会通过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的信任关系的更多相关文章
- 为Azure Web Site 添加ADFS验证支持之二 在代码里使用ADFS
下面我们来创建一个MVC 5.0的ASP.Net程序,并且将它部署到Azure Web Site上 通过Visual Studio 2015创建Web Project 在选择ASP.net模板的地方, ...
- Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site
Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...
- Windows Azure Web Site (7) Web Site配置
<Windows Azure Platform 系列文章目录> 在上一章内容中,我们已经部署了Azure WebSite.我们可以在Web Site配置页面进行配置.如下图: 另外,我们还 ...
- Windows Azure Web Site (10) Web Site测试环境
<Windows Azure Platform 系列文章目录> 我们知道,在使用Azure Cloud Service的时候,会有2个不同的环境,称为Production环境和Stagin ...
- Windows Azure Web Site (16) Azure Web Site HTTPS
<Windows Azure Platform 系列文章目录> 我们在使用微软云Azure Web App的时候,会使用微软的二级域名:http://xxx.chinacloudsites ...
- Windows Azure Web Site (17) Azure Web Site 固定公网IP地址
<Windows Azure Platform 系列文章目录> 在之前的文档中,笔者介绍了Azure Web Site是一个多租户的环境,每个部署单元有一个可以通过Internet访问的入 ...
- [New Portal]Windows Azure Web Site (3) 创建Web Site和云端数据库
<Windows Azure Platform 系列文章目录> 在前一章的内容里,我介绍了使用Windows Azure Management Portal创建Web Site.本章,我将 ...
- Azure Web Site 之 利用Azure Web site 发布网站
由于经常混迹于MSDN Azure论坛,少不了和一些外国朋友打交道.有的时候觉得还是有一些东西可以写出来与外国友人们分享下的, 所以就用一个开源项目建了一个英文blog项目. 在发布的时候,首选的就是 ...
- Windows Azure Web Site (6) 使用FTP发布Azure Web Site
<Windows Azure Platform 系列文章目录> 笔者在之前的文章中介绍的都是使用IDE,也就是Visual Studio,将本地的aspx发布到Azure Web Site ...
随机推荐
- Tess4J -4.0.2- Linux 实践 [解决:Tess4J - Native library (linux-x86-64/libtesseract.so) not found in resource path]
[本文编写于2018年7月5日] Tess4J是Tesseract的Java JNA wrapper.本文介绍了在CentOS 7 操作系统中使用Tess4J的步骤及注意事项.在正式开始之前,先花一点 ...
- 解决:Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986
目录 背景 原因分析 处理方法 参考 背景 在将tomcat升级到7.0.81版后,发现系统的有些功能不能使用了,查询日志发现是有些地址直接被tomcat认为存在不合法字符,返回HTTP 400错误响 ...
- Jarvis OJ平台basic部分wirteup
Base64? 题目描述: GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI=== Base3 ...
- CentOS下php安装mcrypt扩展
CentOS下php安装mcrypt扩展 Posted on 2012-09-12 15:27 C'est la vie 阅读(48294) 评论(3) 编辑 收藏 (以下步骤均为本人实际操作,可能与 ...
- Java ISO 8601时间格式转换
common-lang包: String pattern = "YYYY-MM-dd'T'HH:mm:ssZZ"; System.out.println(DateFormatUti ...
- Java JVM- jstat查看jvm的GC情况[转]
ava通过jvm自己管理内存,同时Java提供了一些命令行工具,用于查看内存使用情况.这里主要介绍一下jstat.jmap命令以及相关工具. 一.jstat查看 gc实时执行情况 jstat命令命令格 ...
- Spring mvc 数据验证框架注解
@AssertFalse 被注解的元素必须为false@AssertTrue 被注解的元素必须为false@DecimalMax(value) 被注解的元素必须为一个数字,其值必须小于等于指定的最小值 ...
- python while 学习
while True: reply = input('please input:') if reply == 'stop': break else: print (reply.upper())
- 【前端学习笔记】JavaScript 小案例合集
获取一个0-9的随机数: Math.round(Math.random()*9); 去除数组中重复的元素: var arr=[1,3,5,4,3,3,1,4] function editArr(arr ...
- 第87天:HTML5中新选择器querySelector的使用
一.HTML5新选择器 1.document.querySelector("selector");selector:根据CSS选择器返回第一个匹配到的元素,如果没有匹配到,则返回n ...