【发布时间】:2011-07-05 14:47:01
【问题描述】:
我正在启动一个新的 ASP.Net MVC 3 应用程序,我希望能够使用内置的 Membership 提供程序。
我遇到的问题是我的应用程序可以被各种组织使用,重要的是显示的信息仅适用于用户所在的组织。
不费吹灰之力的方法是坚持所有用户都使用他们的电子邮件地址作为他们的用户名,这样每个人都是独一无二的,并且可以与各自的组织相关联。问题是,一些用户没有电子邮件地址,因此没有可靠的方法来确保唯一的名称,我不希望人们知道不同组织已经使用的用户名。 (用户名应该只对组织来说是唯一的,而不是整个应用程序)
理想情况下,我希望用户在一个字段中输入他们的组织名称,然后在另一个字段中输入他们的用户名(然后是密码!)
所以我们可以让 Jane 从一个组织登录.....
Organization Company1
Username Jane
Password ********
然后其他人也叫 Jane 可以从不同的组织登录..
Organization Company2
Username Jane
Password ********
所以我的问题是,修改会员系统以允许这个额外字段的最佳方法是什么?
【问题讨论】:
-
在我看来,这对于默认的会员提供者来说太过分了。由于要求允许跨公司使用相同的用户名,因此要使其在默认提供程序之外工作也需要做很多工作。您在这里实质上介绍的是用户的组合 ID,它由 (CompanyID, UserID) 组成。这将使整个地方的事情变得复杂(例如您的应用程序)
标签: asp.net asp.net-mvc asp.net-membership