c# - 带有实体框架的 ASP.NET WebApi - 连接到不同用户下的数据库
问题描述
我在 ASP.NET WebAPI(Web 服务)中有一个项目,它为网站提供服务并使用实体框架连接到 SQL Server 数据库。
实体框架在一个登录下连接到数据库,该登录存储在config
文件中。但是我必须以用户在网站上填写的登录名和密码连接到数据库,并在该用户下执行所有查询(用户必须在 SQL Server 上有自己的会话)。
谁能告诉我这是否可能?如果可能的话,我应该意识到这一点吗?
非常感谢!
解决方案
如果用户将请求中的用户名和密码发送到 WebAPI,那么您需要自己动态生成连接字符串,然后使用它来连接数据库。
其他选项,您可以在 webapi 上配置 kerberos 身份验证,然后根据 SYSTEM_USER 参数将一些逻辑添加到数据库中。或者根据 sql server 版本,您可以使用基于角色的安全性
推荐阅读
- oop - 为什么类槽用关键字指定但用符号访问?
- nearprotocol - 如何将数据写回存储?
- java - 从 Java 调用在 cmd 中执行 .bat 什么都不做
- spring-integration - 调用提交偏移的正确方法
- spring - Springboot + Postgres + Docker 链接
- r - 管道工部署 - 我可以部署单个文件吗?
- javascript - Gulp 生成的 js 出错了
- drools - 事实存在或不存在时的流口水条件
- java - 使用 Java SparkSession 手动创建数据集时出现 UnsupportedOperationException
- python - Django-rest-framework 如何向 request.data 添加其他数据