表单身份验证不仅仅是用户名和密码



ASP.NET Web应用程序的客户(客户)是公司,每个公司可能有许多用户可以访问该网站。

因此,例如,公司A订阅该网站以使用该网站的服务。立即创建该公司的超级用户。然后,此超级用户有权创建更多有权访问该网站的 CompanyA 用户。

因此,通常,每个用户都由公司名称和用户名标识

典型的 ASP.NET 窗体身份验证提供自动登录和注册功能,但仅使用用户名和密码字段。

.NET 框架是否提供了一种在"登录名"和"注册"控件中包含"公司名称""公司密码"字段的方法?

公司和初始超级用户也可以由网站管理员在系统中注册。

实际上,我想要的是将公司名称字段包含在提供的.NET登录控件中,而不仅仅是用户名和密码

是否有 .NET 框架方法可以执行此操作,或者我是否必须对其进行自定义编码?在后一种情况下,哪种做法是最佳实践?

你的方案根本不需要公司名称。只要用户名是唯一的列,您应该能够查找用户属于哪家公司。您只需要一个user_company表,它将用户名链接到公司 ID。创建超级用户后,您就知道他所属的公司,当他创建用户时,您也知道该用户将属于哪个公司。在登录页面上,您仍然只需要询问用户名和密码;当然,如果您不想允许来自不同公司的用户使用相同的用户名,我认为这是合理的,并且是简单的一个很好的权衡。

您可以将任何预先存在或计划的身份验证方案与 ASP.Net Forms 身份验证一起使用。

请参阅MSDN的这个(过于简化的)示例,如果您愿意,您甚至可以对身份验证方案进行硬编码 - 不是说您应该这样做,但它为您提供了整体思路。

ASP.net 如果您想使用它,Microsoft会向您提供会员资格(您不必这样做)。它具有使用它时所需的所有基架(包括您提到的数据库),并且默认情况下由表单身份验证使用(不是唯一的)。

最新更新