gpt4 book ai didi

c# - SQLNET.AUTHENTICATION_SERVICES= (NTS) 和 ASP.NET

转载 作者:行者123 更新时间:2023-11-30 16:35:08 24 4
gpt4 key购买 nike

我正在尝试使用

访问 oracle 数据库
using System.Data.OracleClient;

从控制台应用程序访问数据库没问题。但是从 ASP.NET 网站我得到错误:

ORA-12640: Authentication adapter initialization failed

我搜索了一下,发现更改 sqlnet.ora 文件可以解决问题

//before
SQLNET.AUTHENTICATION_SERVICES= (NTS)
//after
SQLNET.AUTHENTICATION_SERVICES= (NONE)

后来我发现同一服务器上的另一个应用程序也使用 Oracle 的其他数据库,要求 SQLNET.AUTHENTICATION_SERVICES 的值为“NTS”。这将导致我的网站无法访问数据库并出现错误 ORA-12640。我已经尝试将“ALL”作为值,但仍然没有用。

当 sqlnet.ora 配置为“SQLNET.AUTHENTICATION_SERVICES= (NTS)”时,如何配置我的网站以访问 oracle 数据库?

附言该网站使用 Windows 身份验证并模拟如下:

<authentication mode="Windows"/>
<identity impersonate="true"/>

最佳答案

这看起来像 multi-hop对我来说是模拟问题。

如果您可以选择,我建议您的应用程序在访问数据库时以单一身份运行(这也应该允许连接池作为有益的副作用发生)。

为此,您需要将应用程序池配置为在有权访问 Oracle 的帐户下运行。一旦应用程序在该应用程序池下运行,请在您的应用程序中关闭模拟,以便使用应用程序池标识进行数据库调用。

如果您必须通过网络模拟调用用户,所使用的方法将取决于您的环境。有关详细信息,请参阅 How to Use Impersonation and Delegation in ASP.NET 2.0 .

关于c# - SQLNET.AUTHENTICATION_SERVICES= (NTS) 和 ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2111097/

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