【发布时间】:2013-12-24 04:21:57
【问题描述】:
我正在使用 TeraData 和 ASP.NET MVC3 的集成安全性。尝试打开连接时出现以下异常。我需要做些什么来将令牌转换为可以接受的东西吗?
“/”应用程序中的服务器错误。 不支持 NTLM 身份验证令牌。 错误代码:-452984668 严重性:错误设施:DotNet 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:Teradata.Net.Security.TdgssException:不支持 NTLM 身份验证令牌。 错误代码:-452984668 严重性:错误设施:DotNet
来源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常来源和位置的信息。
堆栈跟踪:
[TdgssException:不支持 NTLM 身份验证令牌。 错误代码:-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, IDictionary2 parameters) +274
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 参数) +39
System.Web.Mvc.c_DisplayClass15.b_12() +120
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter 过滤器,ActionExecutingContext preContext,Func1 continuation) +637
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList1 过滤器,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
【问题讨论】:
-
会不会是 IIS 只为 Kerberos 配置而不包括 Ntlm?请参阅打开 Ntlm 的链接:support.microsoft.com/kb/215383
-
Teradata 实例是否支持 NTLM,使用 Teradata 的 SQL 助手(使用 ODBC/.Net 提供程序)或 Studio Express 使用 JDBC 等工具?
-
我能够使用集成安全性和 RazorSQL 进行本地连接。在运行 Web 项目时,我还可以使用集成安全性和 Visual Studio 2010 进行本地连接。只有当我部署到开发服务器时。几乎就像 TeraData 不喜欢 ASP.NET 模拟一样。我不知道如何使它成为现实。
-
你能解决这个问题吗?
-
@Mr.White 我们最终为 TeraData 创建了一个用户帐户,而不是使用集成身份验证。集成身份验证从未奏效。
标签: c# asp.net-mvc-3 teradata