很多时候企业开发的应用都会通过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. 马士兵老师hadoop讲解总结博客地址记录(啊啊啊啊啊,自己没有保存写好的博客...)

    http://www.cnblogs.com/yucongblog/p/6650822.html

  2. OpenCV学习笔记——图像平滑处理

    1.blur 归一化滤波器Blurs an image using the normalized box filter.C++: void blur(InputArray src, OutputArr ...

  3. OOP 1.3 动态内存分配

    1.new运算符用法 分配一个变量:P=new T; T是任意类型名,P是类型为T的指针.动态分配出一片大小为sizeof(T)字节的内存空间,将该空间的起始地址赋值给P(new T的返回值为 T). ...

  4. 第二次c艹作业

    1,c语言实现方法:按照电梯运行方式,改变被定义为全局变量的结构体的数值. c艹实现方法:用类来存放电梯的属性,整个过程都是对类操作. 两者不同:c语言是面向过程的,整个函数里都要对电梯的参数进行修改 ...

  5. asp.net登录状态验证

    文章:ASP.NET 登录验证 文章:ASP.NET MVC下判断用户登录和授权状态方法 文章:.net学习笔记---HttpHandle与HttpModule 第一篇文章,介绍了 1)早期的Base ...

  6. 【Java】对ArrayList排序

    java如何对ArrayList中对象按照该对象某属性排序 (从小到大) 两种方法: 方法一:Comparator<KNNNode> comparator = new Comparator ...

  7. virtualenv是什么?virtualenv的安装及pycharm的配置和使用

    virtualenv是什么? virtualenv是一个创建隔绝的Python环境的工具.virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包.简单的说就是一 ...

  8. CentOS卸载系统自带的OpenJDK并安装Sun的JDK的方法

    查看目前系统的jdk: rpm -qa | grep jdk 得到的结果: [root@dc-01 java]#  rpm -qa | grep jdk java-1.6.0-openjdk-1.6. ...

  9. 第124天:移动web端-Bootstrap轮播图插件使用

    Bootstrap JS插件使用 > 对于Bootstrap的JS插件,我们只需要将文档实例中的代码粘到我们自己的代码中> 然后作出相应的样式调整 Bootstrap中轮播图插件叫作Car ...

  10. 第92天:CSS3中颜色和文本属性

    一.颜色的表示方式 1. rgba(255,0,0,0.1)  rgba是代表Red(红色) Green(绿色) Blue(蓝色)和 Alpha透明度.虽然它有的时候被描述为一个颜色空间 新增了RGB ...