是否可以在具有 WebAPI 服务的 3 层架构中的 SQL 服务器数据库中使用 windows 身份验证?

Is it possible to use windows authentication in SQL Server database in 3-tier architecture with WebAPI service?

我们目前有一个双层企业应用程序,其中 Windows 桌面应用程序直接连接到 SQL 服务器数据库。使用标准 SQL 服务器功能在数据库中设置数据访问权限,正在使用 sqlserver windows 身份验证(用户使用他们的域登录)。

我们想引入一个应用服务器层,但我们需要相同的身份验证方案,即桌面应用程序发起的所有查询都必须 运行 在用户域帐户下的数据库中启动了应用程序。

同样重要的是,用户不要在应用程序中输入他们的凭据,使用当前域帐户。

客户端应用程序是 WPF .NET 桌面应用程序。

是否可以使用 ASP.NET WebAPI 作为应用程序服务器?

如果您使用 Active Directory 对用户进行身份验证,一旦他们成功通过身份验证进入您的应用程序,您将拥有他们的域身份。然后,您可以将其作为连接字符串的一部分传递给每个用户特定的数据库 CRUD 操作。

我建议您使用共享的 SQL 登录名来处理缓存、数据库日志记录和审计、错误日志记录、应用程序身份验证和授权等核心内容。