Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何仅为授权用户而启动服务?_C#_Windows Services - Fatal编程技术网

C# 如何仅为授权用户而启动服务?

C# 如何仅为授权用户而启动服务?,c#,windows-services,C#,Windows Services,我为这个项目奋斗了很长时间。 我正在使用windows服务应用程序。我已经创建了一个工作的windows服务应用程序。现在我收到一个请求,只有授权用户才能启动服务 这是我试过的。 我从app.config文件中读取连接字符串 <add name ="ConnectionString" connectionString="Data Source = Server_name; Initial Catalog = DB_DEV; Integrated Security = True" provi

我为这个项目奋斗了很长时间。 我正在使用windows服务应用程序。我已经创建了一个工作的windows服务应用程序。现在我收到一个请求,只有授权用户才能启动服务

这是我试过的。 我从app.config文件中读取连接字符串

<add name ="ConnectionString" connectionString="Data Source = Server_name; Initial Catalog = DB_DEV; Integrated Security = True" providerName="System.Data.SqlClient"/>
iii.并尝试以登录身份启动服务-此用户

这是做这件事的方法还是其他方法?请引导我。谢谢


请注意,它位于VS2010中。

Windows服务以单个用户的身份运行,通过服务控制面板进行配置,就像您所做的那样。目前还不清楚数据库连接是如何关联的,但您可以通过多种方法指定哪些用户可以启动和停止服务

sc
命令行工具 使用
sc sdset
可以配置服务的权限,允许您控制谁可以启动/停止服务,但是这需要使用非常简洁且没有详细文档记录的SDDL字符串格式

使用
subinacl
Microsoft提供了一个名为的工具,可用于配置许多与权限相关的设置

您可以使用此工具设置服务启动/停止权限,如下所示:

subinacl.exe /service <your service name> /Grant=<user name>=TO
subinacl.exe/service/Grant==TO
(“
”表示将向用户授予启动服务(
T
)和停止服务(
O
)权限,其他权限值可通过
subinacl/help/full
确定)

subinacl.exe /service <your service name> /Grant=<user name>=TO