.Net 2.0 Web 服务中的 SSPI 连接

发布于 2024-07-15 00:00:57 字数 498 浏览 10 评论 0原文

我正在尝试测试我用 C# 创建的 .Net 2.0 Web 服务。 我们的一台服务器运行于 Windows 2000,目前仅支持 .Net 2.0。 我可以在我的机器本地测试它,它工作正常,但是当我将它移动到目标服务器进行生产时,它会产生错误。

我希望它使用 Windows 身份验证,并在 web.config 中对其进行定义

我收到的错误如下:

System.Data.SqlClient.SqlException: 用户“”登录失败。 用户是 不与受信任的 SQL 关联 服务器连接。

当我尝试在目标服务器上测试此 Web 服务(在该服务器上本地运行)时,会发生这种情况。

如何将活动目录用户名与正在运行的 Web 服务的服务器/位置关联起来(我认为这就是我需要做的?)

该服务器当前可以通过经典 ASP 和 ColdFusion 连接到 MSSQL 2005。

I'm trying to test a .Net 2.0 Web Service I created in C#. One of our servers is on windows 2000 and can currently only support .Net 2.0 . I can test it local to my machine and it works fine but when I move it to the target server for production it produces an error.

I want it to use Windows authentication, and have it defined as such in the web.config

The error I receive is as follows:

System.Data.SqlClient.SqlException:
Login failed for user ''. The user is
not associated with a trusted SQL
Server connection.

This occurs when I try to test this web service on the target server (running locally on that server).

How can I associate an active directory username with the server/location the web service is running (I think that's what I need to do?)

This server can currently connect to MSSQL 2005 via classic ASP and ColdFusion.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

明媚如初 2024-07-22 00:00:57

如果您在 IIS 中托管,则需要设置运行 Web 应用程序的应用程序池的标识。请注意,您选择的用户需要访问作为服务登录的权限,以及一些其他操作。 如果用户配置稍有错误,您就可能会收到“500 Server Unavailable”消息,因此请谨慎行事。 另请注意,您需要完全回收应用程序池才能重试!

(编辑)-找到我的记事本;-p

  • 将帐户添加到“作为服务登录”策略组(本地安全策略(本地安全设置)-> 用户权限分配)
  • 将帐户添加到“IIS_WPG”用户-group(计算机管理->本地用户和组)
  • 授予帐户“读取和执行”、“列出文件夹内容”和“读取”文件结构的权限(资源管理器->属性)
  • 要么创建一个新的应用程序池,或更新现有池的用户帐户(Internet 信息服务 -> 应用程序池)
  • 为站点/应用程序设置应用程序池(Internet 信息服务 -> 网站)

If you are hosting in IIS, then you need to set the identity of the app-pool that the web app is running in. Note that the user you select needs access to logon as a service, and a few other things. You are likely to get "500 Server Unavailable" if the user is even slightly malconfigured, so tread carefully. Also note that you need to fully recycle the app-pool to try again!

(edit) - found my notepad ;-p

  • Add the account to the "Log on as a service" policy-group (Local Security Policy (Local Security Settings) -> User Rights Assignment)
  • Add the account to the "IIS_WPG" user-group (Computer Management -> Local Users and Groups)
  • Grant the account "Read & Execute", "List Folder Contents" and "Read" permissions to the file structure (Explorer -> Properties)
  • Either create a new application pool, or update the user account of an existing pool (Internet Information Services -> Application Pools)
  • Set the application pool for the site / application (Internet Information Services -> Web Sites)
(り薆情海 2024-07-22 00:00:57

我相信您在托管该网站的应用程序池中为网站(或服务)设置了用户。

打开 compmgmt.msc,然后转到“服务和应用程序”->“服务和应用程序” Internet 信息服务 (IIS)

您可以在此处添加新的应用程序池,该应用程序池具有标识。 然后,您可以通过右键单击您的网站 -> 将您的 Web 服务站点与应用程序池关联起来。 主目录,然后选择底部的应用程序池。

可能还有其他一些事情我忘记了,但我认为应该可以了。

I believe you setup the user for a web-site (or service) in the App Pool that hosts the site.

Open compmgmt.msc, and go Services and Applications -> Internet Information Services (IIS)

You can add a new App Pool here, which has an identity. You can then associate your web service site with the App Pool by right clicking your site -> Home Directory, and choose the App Pool at the bottom.

There may be some other things I forgot, but I think that should do it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文