gpt4 book ai didi

c# - 通过 Task Scheduler 的 Entity Framework 连接作为 NTAuthority/Anonymous Logon 连接

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:33 25 4
gpt4 key购买 nike

我有一个控制台应用程序 (C#),它连接到一个数据库 并发送一些电子邮件。当用户在 Visual Studio 中调试时,它运行良好,但当我将其复制到服务器并作为服务帐户 domain\AcctNotWorking 运行时,出现以下错误。如果我将运行计划任务的帐户切换到我的 domain\login 它工作正常。为什么服务帐户尝试以 NT AUTHORITY\ANONYMOUS LOGON 身份登录以及如何解决此问题的任何想法? domain\AcctNotWorking 是服务器上的管理员,在 SQL Server 中具有适当的权限。

System.Data.Entity.Core.EntityException: The underlying provider failed on Open. ---> System.Data.SqlClient.SqlException: Cannot open database "MyDatabaseName" requested by the login. The login failed. Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

Connection String:  add name="ApplicationEntities" connectionString="metadata=res://*/ApplicationEntities" .csdl|res://*/ApplicationEntities" .ssdl|res://*/ApplicationEntities" .msl;provider=System.Data.SqlClient;provider connection string="data source=SQL-Server-Name;initial catalog=DatabaseName;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"

最佳答案

很简单,Integrated Security=True 意味着当前用户将尝试使用他们的 Windows 身份登录到 sql server。您要么必须 1) 创建一个用户来运行该服务,并将该服务配置为在该用户下运行它,然后在数据库中授予该用户权限,或者 2) 创建一个带有用户名/密码的 sql 登录并使用在你的连接字符串中。

这是了解如何在用户帐户下运行服务的起点

Minimum rights required to run a windows service as a domain account

这是创建 sql server 登录的起点

https://learn.microsoft.com/en-us/sql/relational-databases/security/authentication-access/create-a-login

尽管老实说,这似乎过于复杂。您需要做的就是使用 SSMS 登录到服务器,然后右键单击“安全”文件夹并创建一个新登录名。这很清楚。然后在数据库中为该登录创建一个用户(相同的过程,但安全文件夹在数据库下)。不是太难。然后将 Itegrated Security=True 切换为 User Id=myUsername;
密码=我的密码;

我的偏好是在机器上创建一个用户帐户,除了运行服务所需的权限外没有其他权限,然后在 sql server 中为该帐户创建一个登录名和用户,也是 锁定运行所需的最低限度权限。如果您以前从未做过,正确地执行此操作可能会相对复杂。然而,它是有益的,并且会让您获得宝贵的经验,这些经验将在您的职业生涯中发挥重要作用。

至少,如果您使用快速而肮脏的 sql 登录方法,请加密您的连接字符串:https://msdn.microsoft.com/en-us/library/89211k9b(v=vs.110).aspx

关于c# - 通过 Task Scheduler 的 Entity Framework 连接作为 NTAuthority/Anonymous Logon 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44070986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com