问题标签 [network-service]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ApiController.User.Identity 和 System.Security.Principal.WindowsIdentity 提供不同的用户详细信息
我有一个 OWIN 托管的 web api,它在 OWIN Startup 类的 Configuration 方法中Network Service
通过WindowsAuthentication
以下行启用。
一切正常,除非我尝试获取用户详细信息,通过
caller = System.Security.Principal.WindowsIdentity.GetCurrent();
回报:AuthenticationType: "Negotiate", Name: "NT AUTHORITY\NETWORK SERVICE"
ApiController.User.Identity
回报:AuthenticationType: "NTLM", Name: "Domain\Username"
我实际上期望ApiController.User.Identity
给出的凭据。我很困惑为什么我在两者中都得到了不同的结果。谁能帮我这个?
OWIN启动类:
c# - 客户端登录时如何在服务器上的网络服务帐户中触发服务?
我们有一个现有系统,其中启用了网络服务的 Windows 服务托管在服务器上的网络服务帐户上。每个客户端上都安装了 Windows 服务,一旦用户通过每个客户端登录,这些服务就会自动启动,客户端上的这些服务会触发服务器上的服务,告诉它例如客户端 A 已经登录。
我想要做的是创建一个网络服务并将其托管在服务器上,并直接触发它,而无需在每个客户端上安装单独的 Windows 服务。可能吗?我希望每个客户端都使用现有的网络服务,并在登录时通知它它在线。随着时间的推移在服务器上维护用户登录日志。
c# - 如何授予对 NETWORK SERVICE 帐户的 SQL 访问权限?
我正在尝试创建可由我编写的 Windows 服务访问的架构和表,但我的服务无法访问它...
一个非常简单的表..当我通过我的 Windows 服务尝试SELECT
它时,我得到:
System.Data.SqlClient.SqlException (0x80131904):对对象“域”、数据库“tempdb”、模式“blah”的 SELECT 权限被拒绝。
我尝试将我的服务帐户从 切换LocalService
到 ,NetworkService
但它给出了同样的结果。
我用于服务的连接字符串:
我还尝试创建一个新的登录名NT AUTHORITY\NETWORK SERVICE
,然后将一个用户NETWORK SERVICE
映射到该登录名,然后授予对blah
表的权限domains
,但仍然无法正常工作。
PS:当我将其作为普通可执行文件运行时,相同的代码能够访问该表,但在作为Service
.
c# - 网络服务应用程序池标识拒绝访问以从 AD 中的组中删除用户
当我将我的应用程序发布到我的 Web 服务器时。在 IIS 管理器中,我为我正在使用的应用程序池提供Network Service
.
在我的应用程序中,我提供了从特定 Active Directory 组中删除/添加用户的功能。这是代码:
这在我测试本地时有效,因为我的帐户在处理 AD 时具有管理员权限。所以只是为了检查,在页面加载时,我正在通过以下方式记录 Windows 用户名:
这导致NT AUTHORITYNETWORK SERVICE
. 但是当我尝试从 AD 组中删除用户时.. 我得到:
访问被拒绝
我如何授予Network Service
访问权限?还是有另一种方法可以做到这一点?
android - Android NsdManager 无法发现服务
在遵循他们的教程Using Network Service Discovery时,我遇到了 Androids NsdManager的问题。
我的网络上有一些 zeroconf/bonjour 硬件设备。从我的 Mac 中,我可以通过以下命令从终端中按预期发现所有这些
dns-sd -Z _my-mesh._tcp.
从我的 Android 应用程序的第一次运行开始,我可以使用 NsdManager 完美地发现这些服务。但是,如果我重新启动应用程序并重试,则找不到任何服务。onDiscoveryStarted
被成功调用,但之后没有别的。在等待时,我可以从我的 mac 确认服务仍然成功。
然后我可以打开我的 Zeroconf 应用程序(在 Android 上),它会显示我的 mac 等服务。当我返回我的应用程序时,我看到它立即收到了我之前预期的所有回调。所以我相信我的方法有问题,但我不确定是什么。下面是我用来发现和解析服务的代码。该视图是一个巨大的文本视图(在滚动视图中),我不断向其中写入文本以便于调试。
windows-services - 如何通过网络服务帐户使用从 Windows 服务程序调用的证书?
我正在使用 Trans Union New Access 系统来运行信用报告。我在我的 Windows 7 64 位开发机器上执行此操作。
我有一个使用该系统的 Web 应用程序(Web 表单)项目。在一个按钮中,我有以下代码:
这段代码调用了我自己编写的另一个项目中的一个方法。该代码构造了发布到 Transunion 的 XML。我得到了很好的回应。
我有另一个项目是 Windows 服务项目。本项目中相关代码为:
当服务运行的帐户是我的帐户时,这很好用。该服务作为服务安装,可以使用服务控制台启动和停止。
到目前为止,一切都很好。
这是不好的。当我将服务配置为在网络服务帐户下运行时,我收到以下错误:
无法创建 SSL/TLS 安全通道。
我一直在尝试使用 winhttpcertcfg 来解决这个问题。我试过了 -
winhttpcertcfg -g -c LOCAL_MACHINE\My -s ******** -a "网络服务"
(其中 ******** 是证书的主题名称。当我使用 ?clientCertificate.SubjectName.Name 调试我的服务时,我可以看到这个名称)
我也试过
winhttpcertcfg -i certfile.p12 -c LOCAL_MACHINE\My -a "网络服务" -p pwforcert
(其中 certfile 是文件名 - 请注意,我拥有的文件是 p12 文件,而不是 PFX 文件;pwforcert 是我用来在 Trans Union 站点上创建系统客户端的密码。)
尝试这两个命令后,服务失败并显示上述消息。当我列出应该有权访问私钥的帐户时
winhttpcertcfg -l -c LOCAL_MACHINE\My -s MyCertificate
输出显示正确的匹配证书,并显示“可以访问私钥的其他帐户和组包括:”,并将 NT AUTHORITY\NETWORK SERVICE 列为帐户之一。
我想使用网络服务来运行服务的原因是我的老板希望我这样做。我今天与我们的网络人员交谈,他们在我们的服务器上没有具有管理权限的帐户。
我错过了什么?或者,有没有其他方法可以解决这个问题?
permissions - 以 NETWORK SERVICE 用户身份启动程序
我有一个.exe,我是 Windows 10 系统中的非管理员用户。我想以 NETWORK SERVICE 用户身份运行 a.exe。我尝试使用 PsExec 但
windows-services - 从 Windows 服务启动时,是否可以使用 Windows 集成身份验证来验证 $MachineName?
我有一个通过 HTTPS 与 Web 服务通信的服务帐户。我需要验证服务器上的调用机器名称,并提供包含此内容的响应。
https://internal.com/GetSoftware?machine=host123
在我的场景中,由于欺骗(例如),机器在请求中指定其名称是一种安全风险
问题
- 假设 host123 已加入域,Windows 服务如何传递它已加入域的证据并证明机器名称确实是
host123
?
类似场景
像这样的场景已经在使用:
AD DNS,其中机器有权发布和更新其记录,尽管通过非 HTTPS 端口。
将 Windows 身份验证集成到基于 IIS 的 Web 服务器,发出 Microsoft 特定的质询响应,并且像 IE 这样的浏览器会介入并处理在响应中包含用户令牌。
我想建立一个类似于 IE 与 IIS 进行集成身份验证的连接,但用于 $machinename。
我应该探索哪些方法?
sql-server - 是否可以获得独立于语言的“NT AUTHORITY\NETWORK SERVICE”用户?
我今天遇到了一个我以前从未遇到过的问题。
我开发了一个使用 SQL Server 数据库的应用程序。该应用程序具有访问数据库的 Windows 服务。
由于 Windows 服务使用网络服务作为用户,我需要将该用户添加到数据库中,以便它可以访问它。
该任务由我也开发的安装程序自动完成。
在那个安装程序中,我有这个脚本片段:
该脚本几乎总是有效,但今天安装。
今天的安装是在一台 Windows 7 PC 上进行的,它是西班牙语的。安装程序发送错误消息,告知“NT AUTHORITY\NETWORK SERVICE”用户不存在。
查看问题,我发现在那台 PC 中,该用户名为“NT AUTHORITY\Servicio de Red”,即西班牙语中的“NETWORK SERVICE”。
这很奇怪,因为我有其他 PC 的 Windows 10 西班牙语,但在那个操作系统中,用户也被称为“NT AUTHORITY\NETWORK SERVICE”。
为了解决那台 PC 中的问题,我必须安装 SQL Server Management Studio 才能将“NT AUTHORITY\Servicio de Red”用户分配给数据库。
由于我事先不知道用户名,是否可以向 SQL 添加一个通用用户,该用户在任何地方都可以使用?
authentication - signUpUrl 返回空指针异常
由于 NPE 导致应用程序崩溃
有没有人见过这个?我已经遵循了开发的所有先决条件,目前正在关闭示例应用程序,这是崩溃的代码。可能是什么原因?
https://developers.google.com/android/management/sample-app
根据要求更新:
代码
EnterpriseHelperClass - 我想以编程方式执行此操作,即使我知道这可以通过快速入门指南轻松执行。