C# Entity Framework 连接 - 访问数据所需的 dbcreator 角色

标签 c# sql-server entity-framework

我正在尝试编写一个 Web 服务来更新在线数据库,随后将编写一个网站来访问数据,但我的 SQL Server 登录权限出现问题。

我想使用Entity Framework访问数据库,连接将使用SQL Server身份验证。我希望登录名仅对存储过程具有执行权限,以便能够减少任何安全威胁 - 但是每当我尝试向数据库添加新连接时,它都不允许我这样做,并且我可以添加的唯一方法连接是指登录名是否具有 dbcreator 角色。

我收到以下错误 -

CREATE DATABASE permission denied in database 'master' An attempt to attach an auto-named database......A database with the same name exists, or specified file cannot be opened, or it is located on UNC share.

如果连接被迫使用具有 dbcreator 角色的登录名,这似乎会带来很大的安全风险,对于 Web 服务而言,风险不大,因为登录名将受密码保护,但网站会将密码存储在代码中,因此可能受到损害并被用来进行更改。

我确信有一个很好的解决方案 - 我只是在追踪它时遇到了困难。大多数解决方案似乎都是为连接赋予 dbcreator 角色。

最佳答案

Entity Framework 默认要创建数据库。您可以更改:https://stackoverflow.com/a/5018062/384701

关于C# Entity Framework 连接 - 访问数据所需的 dbcreator 角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11672206/

相关文章:

C# 同义枚举处理

sql-server - 如何在SQL Compact Edition中导入数据?

c# - 保存具有所有必需属性的对象时 Entity Framework 验证错误

c# - 防止在 Entity Framework 中的相关表实体上添加新记录

c# - 自动生成的备用 key

c# - 从 HSV 中提取色度/相对色度

c# - FlowLayoutPanel 自动包装不适用于自动调整大小

java - 列名中的正斜杠引发语法错误 "/"

sql-server - 如何为Docker容器设置时区?

c# - 如何在 C# 中克隆祖先?