我有一个数据库(使用Microsoft SQL Server Management Studio Express),目前在一个正常运行的应用程序中使用得非常多。我将此应用程序移植到Windows身份验证而不是当前存在的基本身份验证系统(或缺少)。
我知道设置它的最简单方法是使用aspnet_reegsql.exe文件为我设置一些表。这显然创建了它的基本表,例如dbo.aspnet_Roles,dbo.aspnet_Users和dbo.aspnet_UsersInRoles。
在当前数据库中,存在名为dbo.Users,dbo.UserRole和dbo.UserRoleMapping的表。当前为此数据库编写的许多存储过程都依赖于这些表。
是否有任何温和的方法来解决aspnet_regsql.exe将创建的新表?可能让它在这些现有的表名上创建配置,而不是硬连线做什么?
提前致谢:)
答案 0 :(得分:0)
听起来你混淆了两件不同的事情。 Windows身份验证是一种将Windows登录呈现给数据库的方法。它通过使用“Windows身份验证”连接到数据库在SSMS中工作。应用程序将在其connection string中指定:
Integrated Security=SSPI;
而不是用户名和密码。这两个选项都会将您当前的Windows凭据发送到数据库。 Windows登录的示例是yourlaptop \ chris。
另一方面,aspnet_regsql.exe设置了一堆表,允许预定义的Microsoft“表单身份验证”工作。例如,login control需要这些表。使用aspnet_regsql控件时,通常使用表单身份验证。您通过在webform上输入用户名和密码登录。有关更多成员资格示例,请参阅this site。