做了个登录模块却不能在IIS里正常使用,求助
发表在ASP.NET图书答疑 2014-08-26
是否精华
版块置顶:
[font size=5][font color=#0000FF]我做了个很简单的登录功能模块,用的是VS2010自带的登录注册修改密码控件。网页上没有别的功能,就只是几个页面,每个页面上放一个Login、CreateUserWizard或是ChangePassword控件,然后从主页可以跳转到有Login控件的登录页,或者到有注册控件的页面,登录或注册完就会跳转到主页。如果在VS里用“浏览器查看”可以成功的注册、登录,但如果放在IIS里在登录的时候就总会提示这样的错(我的IIS是5.1版的,但是用了.net4.0的功能):[/font][/font]



用户 '2CBE3BECFCBB4A6\ASPNET' 登录失败。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 
异常详细信息: System.Data.SqlClient.SqlException: 用户 '2CBE3BECFCBB4A6\ASPNET' 登录失败。
源错误: 
执行当前 Web 请求期间生成了未经处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。  
堆栈跟踪: 
[SqlException (0x80131904): 用户 '2CBE3BECFCBB4A6\ASPNET' 登录失败。]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5009598
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234
   System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2275
   System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) +183
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +239
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +195
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +232
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +185
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +33
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +524
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +479
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +108
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126
   System.Data.SqlClient.SqlConnection.Open() +125
   System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +95
   System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +206
   System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +827
   System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +105
   System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +106
   System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +60
   System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +129
   System.Web.UI.WebControls.Login.AttemptLogin() +127
   System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +101
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
   System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +125
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +167
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563







[font size=5][font color=#0000FF]web.config文件内容,数据库一直用的是Windows验证,所以链接字段里也没有uid和psw……[/font][/font]

<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <remove name="LocalSqlServer" />
    <add name="LocalSqlServer" connectionString="Data Source=2CBE3BECFCBB4A6;Initial Catalog=myprovider;Integrated Security=True"
   providerName="System.Data.SqlClient" />
  </connectionStrings>
    <system.web>
      <authentication mode="Forms">
        <forms loginUrl="Login.aspx" name=".ASPXFORMSAUTH"></forms>
      </authentication>
      <compilation debug="true" targetFramework="4.0" />
    </system.web>
</configuration>


[font size=5][font color=#0000FF]请问老师怎么解决?[/font][/font]
分享到:
精彩评论 4
小科_mrkj
学分:43 LV2
2014-08-26
沙发
读者朋友:
    您好,使用VS自带的登录控件时,会自动生成一个数据库,叫ASP.NET,你把链接字符串的数据库名改成ASPNET试一下。
fengzsz
学分:0 LV1
TA的每日心情
开心
2020-04-26 15:22:54
2014-08-27
板凳
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者朋友:
    您好,使用VS自带的登录控件时,会自动生成一个数据库,叫ASP.NET,你把链接字符串的数据库名改成ASPNET试一下。
[/FIELDSET]

回复:
  不好意思老师,我不太明白您的意思,您是说将我web.config文件中的“Initial Catalog=myprovider”部分改成“;Initial Catalog=ASPNET”么?刚刚试了一下还是有同样的问题额。
  昨天还忘了说明白,就是我是先在SQL Server里建了个叫myprovider的空数据库,再在VS里用“ASP.NET SQL Server 安装向导”连过去的(就是用打开VS命令提示,输入aspnet_regsql.exe后出现的一个安装向导)。完成之后数据库里就出现了各种.net建立的表。后续的网页制作也都是在这个基础上的。
  另外报错的页面提到了个“2CBE3BECFCBB4A6\ASPNET登录失败”,是不是有什么地方需要修改的但我没有修改?我的SQL Server里没有叫ASPNET的数据库,搜遍了整个项目也没有“ASPNET”这样的信息。
小科_mrkj
学分:43 LV2
2014-08-28
地板
[FIELDSET][LEGEND]引自:2楼[/LEGEND]
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者朋友:
    您好,使用VS自带的登录控件时,会自动生成一个数据库,叫ASP.NET,你把链接字符串的数据库名改成ASPNET试一下。
[/FIELDSET]

回复:
  不好意思老师,我不太明白您的意思,您是说将我web.config文件中的“Initial Catalog=myprovider”部分改成“;Initial Catalog=ASPNET”么?刚刚试了一下还是有同样的问题额。
  昨天还忘了说明白,就是我是先在SQL Server里建了个叫myprovider的空数据库,再在VS里用“ASP.NET SQL Server 安装向导”连过去的(就是用打开VS命令提示,输入aspnet_regsql.exe后出现的一个安装向导)。完成之后数据库里就出现了各种.net建立的表。后续的网页制作也都是在这个基础上的。
  另外报错的页面提到了个“2CBE3BECFCBB4A6\ASPNET登录失败”,是不是有什么地方需要修改的但我没有修改?我的SQL Server里没有叫ASPNET的数据库,搜遍了整个项目也没有“ASPNET”这样的信息。
[/FIELDSET]

回复:你用“ASP.NET SQL Server 安装向导”这个连创建的数据库时,用的是Windows身份验证模式连的吧?另外,打开你的SQL Server服务器,找到安全里面的登录名,看看里面有没有2CBE3BECFCBB4A6\ASPNET这项,如果有的话,选中它,单击右键,在属性里面给它改一下登录模式。
  
fengzsz
学分:0 LV1
TA的每日心情
开心
2020-04-26 15:22:54
2014-08-29
4L
[FIELDSET][LEGEND]引自:3楼[/LEGEND]
[FIELDSET][LEGEND]引自:2楼[/LEGEND]
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
读者朋友:
    您好,使用VS自带的登录控件时,会自动生成一个数据库,叫ASP.NET,你把链接字符串的数据库名改成ASPNET试一下。
[/FIELDSET]

回复:
  不好意思老师,我不太明白您的意思,您是说将我web.config文件中的“Initial Catalog=myprovider”部分改成“;Initial Catalog=ASPNET”么?刚刚试了一下还是有同样的问题额。
  昨天还忘了说明白,就是我是先在SQL Server里建了个叫myprovider的空数据库,再在VS里用“ASP.NET SQL Server 安装向导”连过去的(就是用打开VS命令提示,输入aspnet_regsql.exe后出现的一个安装向导)。完成之后数据库里就出现了各种.net建立的表。后续的网页制作也都是在这个基础上的。
  另外报错的页面提到了个“2CBE3BECFCBB4A6\ASPNET登录失败”,是不是有什么地方需要修改的但我没有修改?我的SQL Server里没有叫ASPNET的数据库,搜遍了整个项目也没有“ASPNET”这样的信息。
[/FIELDSET]

回复:你用“ASP.NET SQL Server 安装向导”这个连创建的数据库时,用的是Windows身份验证模式连的吧?另外,打开你的SQL Server服务器,找到安全里面的登录名,看看里面有没有2CBE3BECFCBB4A6\ASPNET这项,如果有的话,选中它,单击右键,在属性里面给它改一下登录模式。
  
[/FIELDSET]

回复:
  [font color=#0000FF][font size=4]刚发现是什么问题了。因为链接字段里写了“Integrated Security=True”,所以加上正确的uid和pwd也连不上,也许它还是走了windows验证的方式吧。改成False再加上uid和pwd就能使用了。谢谢老师~~~:)[/font][/font]
首页上一页 1 下一页尾页 4 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照