Asp.net 用户名SAAS网站的数据库设计

Asp.net 用户名SAAS网站的数据库设计,asp.net,sql-server,database-design,saas,Asp.net,Sql Server,Database Design,Saas,这可能已经得到了回答,我看了看,但老实说,我不知道我应该搜索什么。因为我搜索的东西都不是我想要的 无论如何,我正在构建一个ASP.NET SAAS项目 这是我的delima,多家公司将使用该软件。我正在构建它,以便他们自己能够管理他们的用户群 这是一个SQL Server数据库 现在,按照它的设计方式,我有一个用户表,其中有userid(identity)、username、password、companyfk、first name、last name和email。主键是userid。我说的第二

这可能已经得到了回答,我看了看,但老实说,我不知道我应该搜索什么。因为我搜索的东西都不是我想要的

无论如何,我正在构建一个ASP.NET SAAS项目

这是我的delima,多家公司将使用该软件。我正在构建它,以便他们自己能够管理他们的用户群

这是一个SQL Server数据库

现在,按照它的设计方式,我有一个用户表,其中有userid(identity)、username、password、companyfk、first name、last name和email。主键是userid。我说的第二个主键是username

当有人输入一个具有特定用户名的用户时,它将进行搜索,查看该用户名是否包含在整个表中(不是基于公司)

这可能是一个问题,我看到很多人试图找到对组织有用且听起来很专业的用户名

两种选择

  • 我是否让系统自己生成用户名并将其提供给他们

  • 我是否部分创建用户名,并允许他们执行其余操作。在这里,我可以为每个公司分配一个3个字母的缩写,并将其附加到用户名中

  • 我是否也只针对该公司进行用户名搜索。这里我看到的问题是,当他们试图登录时,我如何知道哪个公司将登录。我认为在登录页面上公布所有使用该系统的公司的下拉列表是不明智的

  • 我是否像yahoo那样制作了一个助手工具,当他们打字时,它会告诉他们是否需要 接受并提出建议?这是5个选项中较难的一个

  • 我是否只是保持现状,让他们解决头痛(最简单的选择)

  • 我倾向于选择(2)


    我想知道是否有人对此有想法。

    如果有疑问,解决这个问题的最简单方法是让他们提供自己的电子邮件地址并使用用户名


    考虑到没有两个电子邮件地址是相同的,我想说你已经做了。

    同意贾斯汀使用电子邮件地址,因为它是最明显的唯一字段


    <>如果你真的想使用用户名,我会考虑在登录时需要公司ID作为附加字段。这是因为你可以在表中有两个相同的用户名,但在公司中没有。

    Justin,我真的没有想到这一点。嗯。。这很明显。谢谢想了想。唯一的障碍是测试的能力。站点具有权限,因此qa人员需要能够拥有多个帐户,以便通过设置的自动测试程序测试各种角色。我们必须为那些具有不同角色所需的电子邮件接收功能的测试设置多个电子邮件帐户。@Angela-为什么需要这些?每个登录应该能够有多个角色。你应该能够用一个拥有你需要的所有角色的电子邮件地址来完成所有的测试。一个是组织层次结构,经理与非经理角色。例如,在一种情况下,一个角色有能力批准某件事,而另一个角色没有能力批准某件事。当按钮是经理时,在同一页面上为该操作启用按钮,当按钮是非经理人员时,该按钮被禁用。如果用户同时具有经理和非经理角色。该扮演哪个角色?你将如何测试两者?你不能。该按钮不能同时启用和禁用。因此自动化无法工作。谢谢乔治的想法。。。我会记住这一点。但我认为贾斯汀是正确的,这对用户来说是最简单的。可能会在QA过程的后端做更多的工作,但我确信可以使用变通方法。