C# 如何仅为授权用户而启动服务?
我为这个项目奋斗了很长时间。 我正在使用windows服务应用程序。我已经创建了一个工作的windows服务应用程序。现在我收到一个请求,只有授权用户才能启动服务 这是我试过的。 我从app.config文件中读取连接字符串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
<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