Sql server 从web服务器到SQL server的DMZ帐户应用程序池标识
我们的生产web应用程序有一个非常奇怪的问题。我们的web应用程序面向外部,使用DMZ帐户模拟应用程序池标识。然而,当用户试图登录应用程序时,我们会随机看到应用程序崩溃。我们得到一个异常,如下所示- 正如您所看到的,当调用authenticate方法时,我们得到一个失败,指示: 已通过身份验证:False 身份验证类型:Sql server 从web服务器到SQL server的DMZ帐户应用程序池标识,sql-server,authentication,asp.net-identity,impersonation,application-pool,Sql Server,Authentication,Asp.net Identity,Impersonation,Application Pool,我们的生产web应用程序有一个非常奇怪的问题。我们的web应用程序面向外部,使用DMZ帐户模拟应用程序池标识。然而,当用户试图登录应用程序时,我们会随机看到应用程序崩溃。我们得到一个异常,如下所示- 正如您所看到的,当调用authenticate方法时,我们得到一个失败,指示: 已通过身份验证:False 身份验证类型: 线程帐户名称:DMZ帐户 SQL Server似乎不允许asp.net应用程序池标识(即DMZ帐户)随机连接。现在这种情况间歇性地发生,并不总是这样。asp.net应用程序模拟
线程帐户名称:DMZ帐户 SQL Server似乎不允许asp.net应用程序池标识(即DMZ帐户)随机连接。现在这种情况间歇性地发生,并不总是这样。asp.net应用程序模拟为池标识,但它通过SQL登录连接到SQL Server 最奇怪的是,如果我们从Visual Studio连接到生产服务器,它将连接到同一个生产SQL Server,那么生产站点将神奇地开始工作!就像Visual Studio模拟的本地域帐户解锁了生产DMZ帐户一样。
Exception information:
Exception type: NullReferenceException
Exception message: Object reference not set to an instance of an object.
at eCertsFormsAdmin.ControllerBase.OnException(ExceptionContext filterContext)
at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Request information:
Request URL: https://appurl:443/Home/Authenticate?param={'AccessCode' :'demo', 'UserName' :'user'}
Request path: /Home/Authenticate
User host address: web server ip address
User:
Is authenticated: False
Authentication Type:
Thread account name: DMZ account
Thread information:
Thread ID: 5
Thread account name: DMZ account
Is impersonating: True
Stack trace: at eCertsFormsAdmin.ControllerBase.OnException(ExceptionContext filterContext)
at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Custom event details:
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
<Provider Name="ASP.NET 4.0.30319.0" />
<EventID Qualifiers="32768">1309</EventID>
<Level>3</Level>
<Task>3</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime="2017-03-28T13:56:18.000000000Z" />
<EventRecordID>425417</EventRecordID>
<Channel>Application</Channel>
<Computer>Web server</Computer>
<Security />
</System>
<EventData>
<Data>3005</Data>
<Data>An unhandled exception has occurred.</Data>
<Data>3/28/2017 9:56:18 AM</Data>
<Data>3/28/2017 1:56:18 PM</Data>
<Data>3accff4bebb74aa5823c9d05fe7ae5c0</Data>
<Data>135</Data>
<Data>4</Data>
<Data>0</Data>
<Data>/LM/W3SVC/6/ROOT-1-131351820594338174</Data>
<Data>Full</Data>
<Data>/</Data>
<Data>C:\www\apppath\</Data>
<Data>Web server</Data>
<Data>
</Data>
<Data>6768</Data>
<Data>w3wp.exe</Data>
<Data>GTSDMZ\eValid</Data>
<Data>NullReferenceException</Data>
<Data>Object reference not set to an instance of an object.
at eCertsFormsAdmin.ControllerBase.OnException(ExceptionContext filterContext)
at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
</Data>
<Data>https://appurl:443/Home/Authenticate?param={'AccessCode' :'demo', 'UserName' :'user', }</Data>
<Data>/Home/Authenticate</Data>
<Data>server ip</Data>
<Data>
</Data>
<Data>False</Data>
<Data>
</Data>
<Data>DMZ account</Data>
<Data>5</Data>
<Data>DMZ account</Data>
<Data>True</Data>
<Data> at OurApp.ControllerBase.OnException(ExceptionContext filterContext)
at System.Web.Mvc.ControllerActionInvoker.InvokeExceptionFilters(ControllerContext controllerContext, IList`1 filters, Exception exception)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
</Data>
</EventData>
</Event>
异常信息:
异常类型:NullReferenceException
异常消息:对象引用未设置为对象的实例。
在eCertsFormsAdmin.ControllerBase.OneException时(上下文筛选器上下文除外)
位于System.Web.Mvc.ControllerActionInvoker.InvokeeExceptionFilters(ControllerContext ControllerContext,IList`1过滤器,异常)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass25.b__22(IAsyncResult asyncResult)
位于System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
在System.Web.Mvc.Controller.c__;u displayClassId.b__u18(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
位于System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
在System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)上
在System.Web.Mvc.MvcHandler.c_uuu显示class8.b_uuu3(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
位于System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中
在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)
请求信息:
请求URL:https://appurl:443/Home/Authenticate?param={'AccessCode':'demo','UserName':'user'}
请求路径:/Home/Authenticate
用户主机地址:web服务器ip地址
用户:
已验证:False
身份验证类型:
线程帐户名称:DMZ帐户
线程信息:
线程ID:5
线程帐户名称:DMZ帐户
是模仿:真的吗
堆栈跟踪:在eCertsFormsAdmin.ControllerBase.OnException(上下文筛选器上下文除外)
位于System.Web.Mvc.ControllerActionInvoker.InvokeeExceptionFilters(ControllerContext ControllerContext,IList`1过滤器,异常)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass25.b__22(IAsyncResult asyncResult)
位于System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
在System.Web.Mvc.Controller.c__;u displayClassId.b__u18(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
位于System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
在System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)上
在System.Web.Mvc.MvcHandler.c_uuu显示class8.b_uuu3(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.b__3(IAsyncResult ar)中
位于System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
在System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()中
在System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)
自定义事件详细信息:
事件Xml:
1309
3.
3.
0x8000000000000
425417
应用
网络服务器
3005
发生了未处理的异常。
2017年3月28日上午9:56:18
2017年3月28日下午1:56:18
3accff4bebb74aa5823c9d05fe7ae5c0
135
4.
0
/LM/W3SVC/6/ROOT-1-131351820594338174
满满的
/
C:\www\apppath\
网络服务器
6768
w3wp.exe
GTSDMZ\eValid
NullReferenceException
对象引用未设置为对象的实例。
在eCertsFormsAdmin.ControllerBase.OneException时(上下文筛选器上下文除外)
位于System.Web.Mvc.ControllerActionInvoker.InvokeeExceptionFilters(ControllerContext ControllerContext,IList`1过滤器,异常)
在System.Web.Mvc.Async.AsyncControllerActionInvoker.c__DisplayClass25.BeginInvokeActionb__22(IAsyncResult asyncResult)
位于System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
在System.Web.Mvc.Controller.c__displayClassId.BeginExecuteCoreb_u18(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.MakeVoidDelegateb__3(IAsyncResult ar)中
位于System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.MakeVoidDelegateb__3(IAsyncResult ar)中
在System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)上
在System.Web.Mvc.MvcHandler.c__显示类8.BeginProcessRequestb__3(IAsyncResult asyncResult)
在System.Web.Mvc.Async.AsyncResultRapper.c__DisplayClass4.MakeVoidDelegateb__3(IAsyncResult ar)中
位于System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at系统