c# - 不支持 NTLM 身份验证 token

标签 c# asp.net-mvc-3 teradata

我正在使用 TeraData 和 ASP.NET MVC3 的集成安全性。尝试打开连接时出现以下异常。我需要做些什么来将 token 转换为可以接受的东西吗?

“/”应用程序中的服务器错误。
不支持 NTLM 身份验证 token 。
错误代码:-452984668 严重性:错误设施:DotNet
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:Teradata.Net.Security.TdgssException:不支持 NTLM 身份验证 token 。
错误代码:-452984668 严重性:错误设施:DotNet

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[TdgssException:不支持 NTLM 身份验证 token 。
错误代码:-452984668 严重性:错误设施:DotNet]
Teradata.Net.Security.Mechanisms.SPNEGOSession.AuthenticateAsClientImplementation(TdgssAuthenticationTokenExchange tokenAuthenticationExchange, String credential, String targetName) +4506
Teradata.Net.Security.Mechanisms.Session.AuthenticateAsClient(TdgssAuthenticationTokenExchange tokenAuthenticationExchange, String credential, String targetName) +159
Teradata.Client.Provider.WpSecurityManager.Action() +134

[TdException (0x80004005): [TeraGSS 安全库] [115022] TERAGSS 层发生异常。有关详细信息,请参阅内部异常。]
Teradata.Client.Provider.WpSecurityManager.Action() +268
Teradata.Client.Provider.WpSession.Open(Int32 connectionTimeout, String password) +2258
Teradata.Client.Provider.Connection.Open(UtlConnectionString connectionString, UInt32 timeout) +1028
Teradata.Client.Provider.ConnectionPool.CreateConnection(UInt32 超时)+53
Teradata.Client.Provider.ConnectionPool.GetConnectionFromPool(Object owningObject) +820
Teradata.Client.Provider.ConnectionFactory.GetConnection(Object owningObject, UtlConnectionString connStr) +842
Teradata.Client.Provider.TdConnection.Open() +172
ProductDevelopmentRequestSystem.Data.AMAPS.MaterialRepository.get_Connection() +389
ProductDevelopmentRequestSystem.Data.AMAPS.MaterialRepository.GetSuffixPlantMapping() +107
ProductDevelopmentRequestSystem.Reports.Supply.SupplyDataLogic.GetAmapsPlantMappings() +114
ProductDevelopmentRequestSystem.Reports.Supply.SupplyDataLogic.GetData(SupplyReportData 数据) +120
ProductDevelopmentRequestSystem.Reports.Supply.SupplyReportLogic.Generate(SupplyReportData 数据)+115
ProductDevelopmentRequestSystem.Controllers.SupplyAndDemandController.Index(SupplyAndDemandViewModel 模型)+1836
lambda_method(闭包,ControllerBase,对象[])+127
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary 2 parameters) +274 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 个参数) +39
System.Web.Mvc.<>c_DisplayClass15.b_12() +120
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 过滤器,ActionExecutingContext preContext,Func 1 continuation) +637 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList 1 个过滤器,ActionDescriptor actionDescriptor,IDictionary`2 参数)+307
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +720
System.Web.Mvc.Controller.ExecuteCore() +162
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +305
System.Web.Mvc.<>c_DisplayClassb.b_5() +62
System.Web.Mvc.Async.<>c_DisplayClass1.b_0() +15
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288

版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.18055

最佳答案

似乎在 Teradata forums 上发布了相同的问题.他们被问及是否使用了集成身份验证。如果是,则需要提交一个错误,因为这表明 Kerberos 失败返回 NTLM。如果不需要集成身份验证,则需要更新连接字符串。

没有回应。

我想这意味着它是一个常见的 double-hop issue这可以通过正确实现 Kerberos 运行或更改连接字符串以使用显式帐户来解决。

关于c# - 不支持 NTLM 身份验证 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20430296/

相关文章:

asp.net-mvc - ASP.Net MVC Html.HiddenFor 的值错误

postgresql - 通过 Postgres 连接到 Teradata DB

mysql - 如何将 Teradata 表转换为 utf8

hadoop - Sqoop 从 Hive 导出到 Teradata 时间戳格式必须是 yyyy-mm-dd hh :mm:ss[. ffffffff]

C# UWP - OnNavigedTo 触发方法两次

c# mvc 从 AJAX 调用返回 JSON 或文件

c# - 寻找导致未观察到 "A Task' 异常的原因...”

c# - 将 WPF 样式应用于 UserControl 中的边框

asp.net - mvc3中如何实现URL重写?

asp.net - 存储可变数据