【问题标题】:ASP.NET SqlMembership Provider allow multiple users with same nameASP.NET SqlMembership Provider 允许多个用户同名
【发布时间】:2011-05-12 21:49:37
【问题描述】:

我有一个网络应用程序,它是不同公司的中心。这些公司中的每一个都将被允许管理(创建/删除)自己的用户。

如果有数千家公司在使用该应用程序,他们必然会创建与其他公司具有相同用户名的用户。现在,当前“公司 a”不能与“公司 b”具有相同的用户名,即使两家公司都不知道另一家公司甚至存在。

SqlMembershipProvider 是否可以根据应用程序特定条件允许多个用户名(在上面的示例中,它是公司名称或公司 ID)?如果是这样,是否有在线示例说明我如何做到这一点?

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 所以在考虑了几分钟后,我意识到这种情况是不可能的。使用单个登录页面,应用程序如何区分来自 A 公司的“​​jsmith”和来自 B 公司的“​​jsmith”,除非此人指定他所属的公司。
  • 不,这不是不可能的。您可以执行诸如 companyA.portal.com、companyB.portal.com 之类的操作。两者都可以指向同一个站点,您只需解析子域即可知道您正在与哪家公司打交道。

标签: c# asp.net asp.net-membership membership-provider sqlmembershipprovider


【解决方案1】:

两个想法:

  1. 要求用户名是电子邮件地址;即使跨公司,您也能保证独一无二。
  2. 根据公司设置MembershipProvider的ApplicationName;你可以在SessionStart 或其他类似的活动中这样做。

【讨论】:

  • 我同意电子邮件之一,但是除非用户方确定用户属于“A”或“B”公司,否则如何更改应用程序名称。除非您之前建议有两个网站
【解决方案2】:

我相信如果您使用其他“用户名”参数 - 应用程序名称,这将有效。为每个公司设置自己的用户应用程序名称,您应该能够使用户名在每个公司中都是唯一的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-11
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多