asp.net / MySQL:用户“ @’localhost”的访问被拒绝(使用密码:否)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了asp.net / MySQL:用户“ @’localhost”的访问被拒绝(使用密码:否),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4196字,纯文字阅读大概需要6分钟。
内容图文
我是一位网络开发新秀,我希望有更多经验的人可以帮助解决这个问题.我被MySQL升级所困扰.
背景:
我有两台XP PC(让我们雄心勃勃地将它们称为“ Web服务器”和“ MySQL服务器”).我最近建立并成功托管了一个从MySQL数据库中提取数据的asp.net网站.这只是一个为少数本地用户设计的网站,因此他们不必学习SQL即可获取数据……简直就是花哨.到现在为止还挺好.
问题:
这周,我在“ Web服务器”上安装了MySQL,那时事情开始变得疯狂.在此之前,Web服务器上没有MySQL实例.自安装以来,我已经:
> …重新安装了MySQL .NET提供程序
> …重新配置了machine.config文件
> …将MySQL_Web.dll复制到MySQL bin目录
> …试图使设置与以下站点中的说明保持一致.
http://dev.mysql.com/doc/refman/5.0/en/connector-net-tutorials-asp-roles.html
这解决了许多问题,我使网站部分启动并重新运行.我可以访问登录页面,对来宾用户的查询返回的数据还可以.
错误讯息1
但是,当用户尝试登录以访问站点上的私人页面时,出现错误“用户’@’localhost'(使用密码:否)的访问被拒绝”.这显然是错误的,因为我使用的是密码,并且因为没有指向本地主机/ Web服务器的连接字符串.唯一的连接字符串指向数据库所在的MySQL服务器.
错误消息2
我也在查看“安全性”选项卡中的“ asp.net网站管理工具”,并看到以下错误:
“您选择的数据存储存在问题.这可能是由于服务器名称或凭据无效或权限不足引起的.也可能是由于未启用角色管理器功能引起的.单击下面的按钮将重定向到页面上,您可以在其中选择新的数据存储.以下消息可能有助于诊断问题:发生异常.请检查事件日志.”
角色管理器肯定已启用,并且提供程序已正确设置.
我曾尝试在Web服务器上卸载MySQL,重新创建站点的用户表,刷新特权和其他一些技巧,但是现在该站点似乎在登录过程和搜索Web服务器期间永久绕过了连接字符串中的db.代替.
有谁知道我下一步可以采取什么措施?我已经难过了几天,不知道还能做什么.
编辑:按照下面的注释要求提供相关代码.如前所述,这是作为默认项目的一部分生成的所有标准代码,并且未经任何方式进行编辑(当然,除了web.config之外).
Web.config文件
<connectionStrings>
<remove name="MySQLWebConnection"/>
<add name="MySQLWebConnection" connectionString="server=myWebServer;User Id=myName;password=myPwd;database=myDB" providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
<system.web>
<membership defaultProvider="MySQLMembershipProvider" />
<roleManager enabled="true" defaultProvider="MySQLRoleProvider" />
<authentication mode="Forms">
<forms name=".ASPXFORMSAUTH" loginUrl="~/Account/Login.aspx" defaultUrl="~/Default.aspx" />
</authentication>
...
</system.web>
为Login.aspx
<asp:Login ID="LoginUser" runat="server" EnableViewState="false" RenderOuterTable="false">
<LayoutTemplate>
<span class="failureNotification">
<asp:Literal ID="FailureText" runat="server"></asp:Literal>
</span>
<asp:ValidationSummary ID="LoginUserValidationSummary" runat="server" CssClass="failureNotification"
ValidationGroup="LoginUserValidationGroup"/>
<div class="accountInfo">
<fieldset class="login">
<legend>Account Information</legend>
<p>
<asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">Username:</asp:Label>
<asp:TextBox ID="UserName" runat="server" CssClass="textEntry"></asp:TextBox>
<asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName"
CssClass="failureNotification" ErrorMessage="User Name is required." ToolTip="User Name is required."
ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p>
<asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
<asp:TextBox ID="Password" runat="server" CssClass="passwordEntry" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password"
CssClass="failureNotification" ErrorMessage="Password is required." ToolTip="Password is required."
ValidationGroup="LoginUserValidationGroup">*</asp:RequiredFieldValidator>
</p>
<p>
<asp:CheckBox ID="RememberMe" runat="server" Visible="false" />
<asp:Label ID="RememberMeLabel" runat="server" Visible="false" AssociatedControlID="RememberMe" CssClass="inline">Keep me logged in</asp:Label>
</p>
</fieldset>
<p class="submitButton">
<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="LoginUserValidationGroup"/>
</p>
</div>
</LayoutTemplate>
</asp:Login>
解决方法:
解决了.希望这可以帮助遇到类似问题的其他人,并在此过程中减轻一些偏头痛.一周的紧急恐慌使我在其他一切都失败了的情况下寻求神圣的干预,所以楼上的大个子为此打了勾号.
内容总结
以上是互联网集市为您收集整理的asp.net / MySQL:用户“ @’localhost”的访问被拒绝(使用密码:否)全部内容,希望文章能够帮你解决asp.net / MySQL:用户“ @’localhost”的访问被拒绝(使用密码:否)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。