我在工作之余写了个和工作内容相关的一个网站,ASP MVC2 + Azure Storage,并且已经部署到了云端。之后有空就修修补补,坚持了一段时间。

然后有了想要给网站加社交功能的想法了,作出的东西总想有用户,有了用户又想有互动。可我一个业余做些小东西的人是不会花时间去开发复杂的功能的。如果自己开发用户系统,需要注册,数据存储,改密码,邮件验证等等,代码量也大。开发出来了用户会买单么?现在网站帐号这么对,谁会想去花时间注册帐号呢?

我想要我的网站能互动社交,但不太想开发用户系统,这是个问题。Windows Azure居然还真有解决方案,真想不到。解决方案是微软提供了登录认证的协议和平台,平台就是Azure的Access Control Service,协议默认支持Facebook,Google,Windows Live,Yahoo!几个大的用户系。有了平台和协议,你只需要配置一下就OK,不需要写代码,然后用户就能使用这些大公司的帐号登录你的Application了。

下面开讲,需要的条件:

有Windows Azure帐号

基于Azure的Web Application

开发环境安装Microsoft Identity Foundation Federation 需要下载安装两个部分: WIF Runtime , WIF SDK

然后就是具体怎么操作了:

首先,我们先配置Windows Azure,先来提供ACS的支持,登录你的Azure,选择Service Bus,Access Control & Caching。

然后选择New创建一个Access Control的Namespace,一个帐号可以建多个,只要你有$就行,接下来会看到这个界面:

Namespace很重要,决定了这个网址http://****.accesscontrol.windows.net ,用来做帐号登录认证过程中会出现这个网址的。创建号之后选中新创建的项目点这个按钮:

然后进入配置阶段,首先进入是这个页面:

过目吧,这个页面没什么信息,仅仅看看一些操作条目吧。我们今天只能用到前面三个:

添加用户帐号的Provider,向导式的,很简单的:

只有Facebook的向导稍微复杂了一点,不但这里要设置,你还要去facebook申请个Developer App才可以。然后把AppId和AppSecret填在向导里面。另外facebook Developer那边的App的URL必须填成上面写的http://***.AccessControl.windows.net/

添加好Provider就可以配置Application了,需要新建Relying Party Application,这个表也比较简单。

五个地方需要注意,Name:你的App的名字,Realm:App的网址,例如http://***.cloudapp.net , ReturnURL:http://***.cloudapp.net/Account/SignIn 。

Providers就选上你接受的帐号类型,RuleGroup就选默认的Create New Rule Group。还有很多参数都保持默认。

小技巧,你的App可以添加多次,方便开发和实际部署,我的方案:

AppName Dev: http://127.0.0.1:81/Account/SignIn

AppName Production: http://***.cloudapp.net/Account/SignIn

这样开发部署都没有问题。

然后最后一步需要配置RuleGroup,不同的Provider帐号登录后给你返回的信息不同,你可以在这里做个过滤之类的。

上面就是个Name,没什么有用的信息,下面是登录之后返回的信息,Google和Facebook都返回email, Name, Identifier。Facebook额外返回了几个属性,Windows Live信息最少,连Email和Name都没有,只有Identifier。

到此,Azure这边的配置就完了。

然后转战程序员这边了,下载ACS2 Simples ,解压\ACS\Websites\MVC3CustomSignInPage 这个Web工程。打开这个Web工程之后右键工程文件,"Add STS Reference"就会打开一个向导,前提是你装了WIF Runtime及WIF SDK。

第一个不用填,第二个可以填Production环境,也可填开发环境。下一步

下面有个Example,直接替换域名部分为***.accesscontrol.windows.net就可以了,这个就是Azure ACS配好的那部分。接下来一路Next。

然后调试,或者直接部署,都可以的,有个问题是怎么在调试和部署之间切换啊。你的Web.Config有这么两段

\microsoft.identityModel\service\audienceUris\add [Value属性]

\microsoft.identityModel\service\federatedAuthentication\wsFederation [realm属性]

把这两个属性改成你的Site的URL就可以了,Debug写127.0.0.1,部署时候写实际值。

给个例子好了 http://scommp.cloudapp.net

转载于:https://www.cnblogs.com/OpsMgr/archive/2011/09/24/2188324.html

体验Windows Azure的Access Control Service相关推荐

  1. 微软Azure的access control - IAM

    进入Azure portal,选择Subscription然后选择Access control(IAM): contributor role能访问到这个Subscription里的资源列表: 所有可用 ...

  2. Windows 2012 - Dynamic Access Control 浅析

    Windows 2012相对于前几个版本而已,做出了大量的改进,尤其体现在安全性和虚拟化方面.Dynamic Access Control ( 动态访问控制)是微软在文件服务器的访问控制上的新功能,极 ...

  3. Windows Azure公有云服务相关方案

    http://www.cnblogs.com/sennly/p/4139675.html 1.公有云平台服务简介 Windows Azure 是一个灵活而开放的云平台,通过该平台,您可以在数据中心快速 ...

  4. 微软云技术Windows Azure专题(一):如何利用Service Bus向Windows商店应用推送消息

    本文介绍了如何使用Windows Azure的Service Bus通知中心发送推送通知Windows商店应用程序. 先来明确一下大体上要做哪些步骤: 1.申请一个Windows应用商店的应用.(每个 ...

  5. Windows Azure Cloud Service (19) 动态指定WCF的发布地址

    <Windows Azure Platform 系列文章目录> 在刚才的例子中,服务端和客户端都是通过配置文件明确指定了WCF的地址,而如果现在需要将此服务发布到别的Hosted Serv ...

  6. Windows Azure AppFabric 入门教学(七):多播(Multicast)

    公告:本博客为微软云计算中文博客的镜像博客.部分文章因为博客兼容性问题,会影响阅读体验.如遇此情况,请访问原博客. 本文是Windows Azure AppFabric入门教学的第七篇文章.我们知道, ...

  7. 详解微软Windows Azure云计算平台

    详解微软Windows Azure云计算平台  方国伟 等主编 ISBN 978-7-121-14620-6 2011年11月出版 定价:59.00元 16开 280页 宣传语:微软官方权威解读 深入 ...

  8. 微软云计算操作系统Windows Azure 平台——云+端全面攻略

    微软云计算操作系统Windows Azure 平台--云+端全面攻略 Windows Azure Platform 开发入门 在云计算时代,有三个平台非常重要,即开发平台.部署平台和运营平台.Wind ...

  9. Windows Azure 解决方案系列: 开发拓展搜索-救援应用程序,拯救更多溺水者

    公告:本博客为微软云计算中文博客的镜像博客.部分文章因为博客兼容性问题,会影响阅读体验.如遇此情况,请访问原博客.   为了降低居高不下的捕鱼业坠海死亡率, Royal National Lifebo ...

最新文章

  1. Django 流式响应中文csv样例
  2. python单元测试工具_Python的单元测试工具——unittest小结
  3. 微信小程序 rpx和px转换
  4. Java消息服务思维导图笔记
  5. 怎么卸载python 旧版本_Python 如何移除旧的版本特性,如何迎接新的特性?
  6. 这个教人写出烂代码的项目在 GitHub 上火了...
  7. 虚拟机连不上群晖服务器,没NAS也能体验群晖:VMware虚拟机安装DSM详细安装步骤...
  8. SpringBoot31 整合SpringJDBC、整合MyBatis、利用AOP实现多数据源
  9. ImageNet缔造者:让冰冷的机器读懂照片背后的故事
  10. 调整视频播放速度,如何让视频加速或放慢播放
  11. Verilog 练习 7段数码管译码器
  12. 如何创建一个JS文件以及调用JS文件
  13. java项目开发团队协作重要性_Java1班项目实战 | 团队协作,我们是认真的!
  14. 计算机考研全国统考时段,考研初试各科目时间安排
  15. windows 批处理文件
  16. GBK与Big5之间如何做内码转换?
  17. 百度地图api自定义修改地图背景样式
  18. zeek(bro) 脚本学习 二
  19. UE4(虚幻4)基础:蓝图初识--按shift加速奔跑
  20. 用友NC目录遍历漏洞复现

热门文章

  1. 深拷贝一个对象会了,怎么深拷贝一个图?
  2. 详解java方法与递归
  3. Java写手机专题分析接口_jeesite学习文档API-内容管理模块
  4. 怎么卸载旧版本java_卸载旧的java-jdk安装新版本jdk
  5. python中re模块怎么导入_python如何导入re模块
  6. 思科路由器怎么安装?
  7. 路由策略原理及配置请查收......
  8. Seata 新特性,APM 支持 SkyWalking
  9. Service Mesh 在超大规模场景下的落地挑战
  10. Sentinel Go 0.4.0 发布,支持热点流量防护能力