2

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

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

我收到以下错误 -

数据库“master”中的 CREATE DATABASE 权限被拒绝尝试附加自动命名的数据库......存在同名的数据库,或无法打开指定的文件,或者它位于 UNC 共享上。

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

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

4

1 回答 1

2

实体框架默认要创建数据库。您可以更改:https ://stackoverflow.com/a/5018062/384701

于 2012-07-26T15:34:05.703 回答