2016-01-13 351 views
-5

他们。我是c#中的新手,如果对于那里的专家来说这个问题听起来很愚蠢,我想道歉。当我尝试在浏览器的本地主机上部署我的mvc应用程序时,我不断收到上述错误。我使用了IIS服务器。我通过Server exporer连接了数据库,系统运行良好。System.Data.SqlClient.SqlException:登录失败,用户'NT AUTHORITY ANONYMOUS LOGON'

它运行良好,如果我从Visual Studio运行它。当我在浏览器上输入本地主机时,我得到应用程序默认登录页面,这是很好,但错误时,我提交的数据,让我觉得它的数据库连接问题。我已经尝试过对此进行研究,但我还没有找到为我量身定制的答案。请尽快协助我,因为我卡住了。我使用Windows身份验证,所以请协助我,但帮助我连接使用Windows身份验证,并指出我可以改变,以确保成功后连接数据库密码和用户身份验证。

Thanx提前!

下面是我的连接字符串

<add name="SA1Entities1" connectionString="metadata=res://*/Models.SA1.csdl|res://*/Models.SA1.ssdl|res://*/Models.SA1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=NPX4912PLUS;initial catalog=SA1;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 

的staketrace是如下:

Server Error in '/' Application. 

Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.SqlClient.SqlException: Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'. 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 


[SqlException (0x80131904): Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.] 
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +110 
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +345 
    System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +4927 
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +81 
    System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +54 
    System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +451 
    System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +1667 
    System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +518 
    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken) +767 
    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +442 
    System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +70 
    System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +919 
    System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) +114 
    System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1631 
    System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +117 
    System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +267 
    System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +318 
    System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) +132 
    System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +195 
    System.Data.SqlClient.SqlConnection.Open() +122 
    System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch(TTarget target, Action`2 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed) +104 
    System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext) +442 
    System.Data.Entity.SqlServer.<>c__DisplayClass1.<Execute>b__0() +16 
    System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Func`1 operation) +229 
    System.Data.Entity.Core.EntityClient.EntityConnection.Open() +328 

[EntityException: The underlying provider failed on Open.] 
    System.Data.Entity.Core.EntityClient.EntityConnection.Open() +699 
    System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(Boolean shouldMonitorTransactions) +168 
    System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction(Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) +64 
    System.Data.Entity.Core.Objects.<>c__DisplayClass7.<GetResults>b__5() +193 
    System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Func`1 operation) +229 
    System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption) +334 
    System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0() +31 
    System.Data.Entity.Internal.LazyEnumerator`1.MoveNext() +37 
    System.Linq.Enumerable.FirstOrDefault(IEnumerable`1 source) +147 
    SA.Controllers.HomeController.Logon(user u) +1000 
    lambda_method(Closure , ControllerBase , Object[]) +139 
    System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229 
    System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39 
    System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +67 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +69 
    System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +72 
    System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +386 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +69 
    System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +38 
    System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +186 
    System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +59 
    System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29 
    System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65 
    System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53 
    System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +36 
    System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38 
    System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +44 
    System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +65 
    System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +399 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +157 
+0

从给出的信息很难说,但我猜一下,我会看看你是否[模拟](https://technet.microsoft.com/en-gb/library/cc730708(v = ws.10).aspx)打开 - 这听起来像你在你的情况下需要它。 –

回答

2

确定这是非常简单的,它是记录互联网上的许多地方,但我会走你通过它。

您遇到的基本问题是您正在运行VS,并且您拥有SQL Server帐户,因此集成身份验证可以正常工作,但II不会像您一样运行 - 它将作为特殊服务帐户运行,并且该帐户会执行对SQL Server没有权限。

所以....

当您从IIS连接到SQL服务器有两种方法可以做到这一点。

  • 首先您可以使用集成安全性。如果你这样做,你需要做以下两件事之一,模拟一个在你的应用程序源代码中拥有sql server权限的用户,或者将一个服务帐户设置为拥有sql server权限的用户,以在配置中运行你的网站非法入境者。如果您进行搜索,这两件事都是有据可查的。

  • 您还可以更改连接字符串以指定用户。这是测试应用程序的最常见方式。查看connectionstrings.com,了解有关连接字符串的一些信息。

你走了。就像我说的,容易。 :)


这是不可能回答你的问题,因为你问的是没有意义的。

你说

它工作得很好,如果我从应用程序中运行它。

什么应用?它是如何工作,什么运作良好。请解释。

当我进入浏览器上的本地主机...

你是什么意思进入本地主机做?你到底在做什么?请解释。

让我的默认登录页面这是很好的

这怎么好?什么是默认登录页面?如果您使用集成身份验证,应该没有登录页面 - 您的意思是您的应用程序的登录页面?如果是这样,我们需要查看该页面的来源。

请尝试解释你在做什么,这样我们可以有一个帮助的机会。

+1

我的意思是,当我从Visual Studio运行的应用程序运行良好,但如果我尝试通过本地机器上的浏览器运行它,我通过IIS发布它,我得到的错误。我得到了我的主页,但是当我提交数据 – Etch

+0

Thnx Hogan寻求帮助时出现错误。不得不挖深,但我最终到了那里。 – Etch

+0

@Etch - 很高兴听到它,在stackoverflow通常是你显示一个答案帮助是通过投票答案,并将其标记为解决您的问题。 – Hogan

相关问题