博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为Azure Web Site 添加ADFS验证支持之二 在代码里使用ADFS
阅读量:4487 次
发布时间:2019-06-08

本文共 1658 字,大约阅读时间需要 5 分钟。

下面我们来创建一个MVC 5.0的ASP.Net程序,并且将它部署到Azure Web Site上

通过Visual Studio 2015创建Web Project 在选择ASP.net模板的地方,更改验证方式

 

在选择验证方式时选择“Work And School Accounts”,在文本框中填入

1.你公司的ADFS的Metadata的地址,这个地址可以找ADFS的管理员要到,通常如以下形式:

2.填入你的WEB应用的URI,因为ADFS是双向验证的,这个URI要跟上一步《》里配置的Url一致

Web Project创建完成了,如果你的ADFS发布到外网的SSL证书是有受信任的根证书颁发的,这时候只需要将WEB Project发布到Azure WEB Site上就搞定,但是很多时候企业的ADFS发布的SSL证书是自己的AD颁发的,Azure WebSite上并不能验证,这时候就需要在你的代码里面修改一下。 打开App_Start/Startup.Auth.cs将默认的代码,下面添加一行BackchannelCertificaeValidator=null

public void ConfigureAuth(IAppBuilder app)        {            app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);            app.UseCookieAuthentication(new CookieAuthenticationOptions());            app.UseWsFederationAuthentication(                new WsFederationAuthenticationOptions                {                    Wtrealm = realm,                    MetadataAddress = adfsMetadata,                    BackchannelCertificateValidator=null,                });        }

打开Global.asax.cs添加以下代码:

 

protected void Application_Start()        {            AreaRegistration.RegisterAllAreas();            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);            RouteConfig.RegisterRoutes(RouteTable.Routes);            BundleConfig.RegisterBundles(BundleTable.Bundles);            ServicePointManager.ServerCertificateValidationCallback = delegate            {                return true;            };        }

添加完代码之后就可以将Web Project发布到Azure Web Site上面了。

这时候我们用浏览器打开发布的Web Site地址,它就会自动跳转到ADFS的登录界面

在这里我们就可以用企业里面的AD账号登录我们的Web Site了。

 

 

这里有老外的篇Blog写的更加详细一些,英文好的同学可以参考一下:

转载于:https://www.cnblogs.com/wing-ms/p/5175907.html

你可能感兴趣的文章
三种样式表插入方法
查看>>
hdu 2139 Calculate the formula (递推)
查看>>
mac, ios 模拟器
查看>>
双向宽度优先搜索
查看>>
常见的异常处理
查看>>
Linux基本命令参数
查看>>
Django系列(一)
查看>>
【ASP.NET Web API教程】2.3.3 创建Admin控制器
查看>>
第二类斯特林数
查看>>
Mysql
查看>>
JQuery中简约的进度条插件推荐
查看>>
url override and HttpSession implements session for form
查看>>
servlet乱码问题
查看>>
反射+特性实现 类和XML文档的序列化反序列化
查看>>
日常方法
查看>>
解决Ueditor在bootstarp 模态框中全屏问题
查看>>
POJ 1006 Biorhythms
查看>>
dubbo+zookeeper注册服务报错问题:No service registed on zookeeper
查看>>
极验滑动验证登录
查看>>
求多个数的质因子
查看>>