计划:
在azure上托管的许多asp net 4.5网站(将映射到不同的域) - >
如何在网站之间共享登录?
选项1:
为所有站点使用1个数据库 - 每个站点如何登录以及哪个站点是“主站点”,其中包含
数据库?
选项2:
为每个站点使用数据库,为用户提供额外的1个全局数据库(+论坛帖子)
选项3 :(结合1 + 2?!)
2个数据库,1个用户用户(+论坛帖子)+ 1个数据
任何一个选项,我都不知道怎么做......
我正在使用CodeFirst Membership Provider
如果我登录SiteA就像登录SiteB等(你明白了点)
如果所有网站都位于Azure上,它是“相同的域名”吗?
答案 0 :(得分:2)
您需要使用{* 3}},它是Windows Azure Active Directory的一部分。
创建一个ACS命名空间,并通过门户将所有应用程序URL添加为此命名空间中的依赖方。之后,您需要通过提供ACS服务名称空间的URL为每个应用程序添加Visual Studio中的STS引用(在安装Windows Identity Foundation时出现)。
您必须添加需要进行身份验证的自定义身份提供程序。例如,在您的方案中,您可以拥有单个数据库并创建使用表单身份验证进行身份验证的自定义STS,并且您必须使用此服务的URL作为ACS名称空间中的身份提供程序。您可以选择添加默认身份提供商,如Windows Live,Google,Yahoo和Facebook,以备不时之需。
有关详细步骤,请参阅此Azure Access Control Service (ACS)
link也提供的示例代码很少。
答案 1 :(得分:0)
为每个站点使用数据库,为用户提供额外的1个全局数据库
这个选项对我来说听起来不错。
您可以使用CAS(中央身份验证服务),这样您就可以使用中心点来验证用户身份。 CAS将配置为在全局数据库中进行身份验证。
**必须配置每个ASP应用程序以使用CAS进行身份验证。
基本身份验证流程是:
您需要安装Java和Tomcat(或其他Java应用程序服务器)才能运行CAS。因此,我不知道CAS是否适合您。
我正在对Active Directory实例使用CAS身份验证。
对不起我的英语。