SQL Server 2012 身份验证是指在连接 SQL Server 数据库时对用户身份进行验证。SQL Server 2012 支持多种身份验证方式,包括 Windows 身份验证和 SQL Server 身份验证。
Windows 身份验证
使用 Windows 身份验证时,用户的身份验证信息会自动从本地 Windows 操作系统或域控制器中获取。通常,使用 Windows 身份验证可简化用户管理和减少安全风险。
步骤
- 在 SQL Server Management Studio 中,连接到 SQL Server 数据库引擎。
- 在“连接到服务器”对话框中,选择“Windows 身份验证”。
- 输入有效的 Windows 用户名和密码。
- 单击“连接”。
SQL Server 身份验证
使用 SQL Server 身份验证时,用户需要手动提供用户名和密码进行身份验证。通常,使用 SQL Server 身份验证可更好地控制用户权限和提高安全性。
步骤
- 在 SQL Server Management Studio 中,连接到 SQL Server 数据库引擎。
- 在“连接到服务器”对话框中,选择“SQL Server 身份验证”。
- 输入有效的 SQL Server 登录名和密码。
- 单击“连接”。
示例1:创建一个 SQL Server 登录
我们可以使用下面的示例代码,来创建一个 SQL Server 登录并授权访问数据库。
CREATE LOGIN testuser WITH PASSWORD = 'P@ssw0rd';
GO
USE master;
GO
CREATE DATABASE testdb;
GO
USE testdb;
GO
CREATE USER testuser FOR LOGIN testuser;
GO
CREATE TABLE dbo.testtable (id INT PRIMARY KEY);
GO
GRANT SELECT, INSERT, UPDATE, DELETE ON dbo.testtable TO testuser;
GO
这些代码创建了一个名为 testuser 的 SQL Server 登录,用于访问名为 testdb 的数据库。然后创建了一个名为 testuser 的数据库用户,并向其授予对 dbo.testtable 表的 SELECT、INSERT、UPDATE 和 DELETE 权限。
示例2:在 ASP.NET Core 应用程序中使用 SQL Server 身份验证
我们可以使用下面的示例代码,来配置 ASP.NET Core 应用程序使用 SQL Server 身份验证。
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>();
services.AddControllersWithViews();
services.AddRazorPages();
}
这些代码挂起了一个名为 ApplicationDbContext 的数据库上下文,它使用名为 DefaultConnection 的 SQL Server 连接字符串来连接数据库。然后调用 AddDefaultIdentity() 方法,并将其配置为使用 Entity Framework 存储,并将 ApplicationUser 类替换为 IdentityUser 类。最后,这些代码配置了 ASP.NET Core 应用程序支持 MVC 和 Razor Pages。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SQL Server 2012 身份验证(Authentication) - Python技术站