SQL Server 2012 身份验证(Authentication)

SQL Server 2012 身份验证是指在连接 SQL Server 数据库时对用户身份进行验证。SQL Server 2012 支持多种身份验证方式,包括 Windows 身份验证和 SQL Server 身份验证。

Windows 身份验证

使用 Windows 身份验证时,用户的身份验证信息会自动从本地 Windows 操作系统或域控制器中获取。通常,使用 Windows 身份验证可简化用户管理和减少安全风险。

步骤

  1. 在 SQL Server Management Studio 中,连接到 SQL Server 数据库引擎。
  2. 在“连接到服务器”对话框中,选择“Windows 身份验证”。
  3. 输入有效的 Windows 用户名和密码。
  4. 单击“连接”。

SQL Server 身份验证

使用 SQL Server 身份验证时,用户需要手动提供用户名和密码进行身份验证。通常,使用 SQL Server 身份验证可更好地控制用户权限和提高安全性。

步骤

  1. 在 SQL Server Management Studio 中,连接到 SQL Server 数据库引擎。
  2. 在“连接到服务器”对话框中,选择“SQL Server 身份验证”。
  3. 输入有效的 SQL Server 登录名和密码。
  4. 单击“连接”。

示例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技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • PHP会话处理的10个函数

    PHP会话处理是指在web应用程序中建立、维护和终止用户会话的过程。PHP提供了10个函数来处理会话,并随着PHP版本的不同而有所变化。下面是这10个函数的详细介绍及示例说明: session_start() session_start()函数用于创建一个会话或者重新打开一个已经存在的会话,它必须在使用任何其它与会话相关函数前调用。例如,下面的示例展示了如何…

    PHP 2023年5月27日
    00
  • linux下的php-fpm参数配置介绍与参数优化说明

    以下是详细讲解“linux下的php-fpm参数配置介绍与参数优化说明”的完整攻略。 什么是PHP-FPM? PHP-FPM(FastCGI Process Manager)是PHP自带的一款解释器,它通过FastCGI协议与Web服务器进行通信,提高了PHP的运行效率。PHP-FPM 带来了更多的配置选项。 PHP-FPM的配置文件 PHP-FPM的配置文…

    PHP 2023年5月24日
    00
  • ie与session丢失(新窗口cookie丢失)实测及解决方案

    IE与Session丢失(新窗口cookie丢失)实测及解决方案 背景 在使用IE浏览器时,会经常遇到在新窗口打开网页时,原本存在的session信息和cookie信息丢失的情况,这不仅会给用户带来不便,也会影响网站的正常运转。 实测过程 为了验证这个问题,我们采用了以下步骤进行实测: 在IE浏览器中打开网站,并登录成功。此时,我们可以看到浏览器中已经设置了…

    PHP 2023年5月27日
    00
  • 跨站脚本攻击+Cookies欺骗(Discuz篇)

    跨站脚本攻击(Cross-Site Scripting,XSS)是一种常见的web攻击方式,攻击者通过注入恶意脚本来窃取用户信息、劫持用户会话等。而Cookies欺骗是指攻击者通过某种方式获取到用户的cookies,并利用这些cookies来进行非法操作。以下是针对Discuz论坛的XSS攻击和Cookies欺骗攻击的完整攻略: 一、XSS攻击 1. 理解X…

    PHP 2023年5月26日
    00
  • 简单实现PHP留言板功能

    下面是“简单实现PHP留言板功能”的完整攻略: 1. 准备工作 首先,要准备好开发环境。需要安装一个支持PHP的Web服务器,比如XAMPP,并启动Apache和MySQL服务。同时,还需要一个文本编辑器,用来编写PHP代码。 2. 创建数据库 先在MySQL中创建一个数据库,比如叫做guestbook。然后,创建一张表,用来存储留言信息。表的结构可以如下:…

    PHP 2023年5月27日
    00
  • 变量在 PHP7 内部的实现(二)

    以下是“变量在 PHP7 内部的实现(二)”的完整攻略。 什么是变量 变量是一个可存储数据的容器,在 PHP 中我们必须先声明变量然后再给其赋值。变量名称由一个美元符号 “$” 开始,后面跟着变量的名称。 在 PHP7 中,变量的实现是通过结构体 zval 实现的。zval(Zend Value)是 PHP 变量的内部表示,所有的 PHP 值都必须使用 zv…

    PHP 2023年5月25日
    00
  • PHP多进程编程总结(推荐)

    以下是对“PHP多进程编程总结(推荐)”这篇文章的详细讲解: PHP多进程编程总结(推荐) 为什么要使用多进程编程 单进程程序的局限性 在开发 Web 应用或服务时,我们通常会需要处理大量的并发访问。单进程的程序只能顺序的执行每一个请求,无法满足高并发的需求。此外,单进程程序在处理大量计算密集型任务时,可能也会因 CPU 抢占导致请求响应时间延长。 多进程能…

    PHP 2023年5月23日
    00
  • PHP多进程之pcntl_fork的实例详解

    PHP多进程之pcntl_fork的实例详解 什么是pcntl_fork? pcntl_fork 是 PHP 内置的多进程扩展。它可以克隆当前进程,创建一个跟当前进程完全相同的子进程。这两个进程会同时运行,并且拥有相同的变量和资源,包括文件描述符、信号处理和当前目录等。但是,子进程的 PID(进程号)是不同于父进程的 PID 的。 为什么要使用pcntl_f…

    PHP 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部