0

Plan :

Many asp net 4.5 sites hosted on azure (will be mapped to different domains) -->

How to share login between the sites?

Option 1 :

Use 1 database for all sites - how each site login and which site is the "master site" which hold

the database?

Option 2 :

Use database for each site with extra 1 global database for users(+forums posts)

Option 3 : ( combine 1+2 ?! )

2 database , 1 for users users(+forums posts) + 1 for data

Either option , I don't know how to do it ...

I'm using CodeFirst Membership Provider

  • If I login to SiteA is like login for SiteB and etc ( you got the point )

  • Is it "same domain" if all sites sits on Azure?

4

2 回答 2

2

您需要使用Azure 访问控制服务 (ACS),它是 Windows Azure Active Directory 的一部分。

创建一个 ACS 命名空间并通过门户将所有应用程序 url 作为依赖方添加到此命名空间中。之后,您需要通过提供 ACS 服务命名空间的 url,为您的每个应用程序添加来自 Visual Studio(安装 Windows Identity Foundation 时出现)的 STS 引用。

您必须添加您需要对其进行身份验证的自定义身份提供程序。例如,在您的场景中,您可以拥有一个数据库并创建一个使用表单身份验证进行身份验证的自定义 STS,并且您必须使用此服务的 url 作为 ACS 命名空间中的身份提供程序。如果需要,您还可以选择添加默认身份提供商,例如 Windows Live、Google、Yahoo 和 Facebook。

有关一些详细步骤,请参阅此链接

MSDN 代码库中也提供了一些示例代码。

于 2013-04-12T04:06:47.350 回答
0

为每个站点使用数据库,为用户额外提供 1 个全局数据库

这个选项对我来说听起来不错。

您可以使用 CAS(中央身份验证服务),这样您将拥有一个中心点来验证用户身份。CAS 将被配置为在全局数据库中进行身份验证。

**必须配置每个 ASP 应用程序以使用 CAS 进行身份验证。

基本的身份验证流程是:

  1. 用户尝试访问特定的 ASP 站点。
  2. ASP 站点识别出用户未通过身份验证并将用户重定向到 CAS(在其他网站中运行)。
  3. 用户键入您的登录名和密码。
  4. 如果登录名和密码正确,CAS 会检查全局数据库。
  5. 如果是,CAS 将用户重定向到特定的 ASP 站点(步骤 1)。

您需要安装 Java 和 Tomcat(或其他 Java 应用程序服务器)才能运行 CAS。因此,我不知道 CAS 是否适合您。

http://www.jasig.org/cas

我正在对 Active Directory 实例使用 CAS 身份验证。

对不起我的英语。

于 2013-04-05T00:17:42.990 回答