很多时候企业开发的应用都会通过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. 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的步骤及注意事项.在正式开始之前,先花一点 ...

  2. 解决:Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986

    目录 背景 原因分析 处理方法 参考 背景 在将tomcat升级到7.0.81版后,发现系统的有些功能不能使用了,查询日志发现是有些地址直接被tomcat认为存在不合法字符,返回HTTP 400错误响 ...

  3. Jarvis OJ平台basic部分wirteup

    Base64? 题目描述: GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI=== Base3 ...

  4. CentOS下php安装mcrypt扩展

    CentOS下php安装mcrypt扩展 Posted on 2012-09-12 15:27 C'est la vie 阅读(48294) 评论(3) 编辑 收藏 (以下步骤均为本人实际操作,可能与 ...

  5. Java ISO 8601时间格式转换

    common-lang包: String pattern = "YYYY-MM-dd'T'HH:mm:ssZZ"; System.out.println(DateFormatUti ...

  6. Java JVM- jstat查看jvm的GC情况[转]

    ava通过jvm自己管理内存,同时Java提供了一些命令行工具,用于查看内存使用情况.这里主要介绍一下jstat.jmap命令以及相关工具. 一.jstat查看 gc实时执行情况 jstat命令命令格 ...

  7. Spring mvc 数据验证框架注解

    @AssertFalse 被注解的元素必须为false@AssertTrue 被注解的元素必须为false@DecimalMax(value) 被注解的元素必须为一个数字,其值必须小于等于指定的最小值 ...

  8. python while 学习

    while True: reply = input('please input:') if reply == 'stop': break else: print (reply.upper())

  9. 【前端学习笔记】JavaScript 小案例合集

    获取一个0-9的随机数: Math.round(Math.random()*9); 去除数组中重复的元素: var arr=[1,3,5,4,3,3,1,4] function editArr(arr ...

  10. 第87天:HTML5中新选择器querySelector的使用

    一.HTML5新选择器 1.document.querySelector("selector");selector:根据CSS选择器返回第一个匹配到的元素,如果没有匹配到,则返回n ...