| Bug #44414 | MySQLRoleProvider says no roles when there clearly are. | ||
|---|---|---|---|
| Submitted: | 23 Apr 3:37 | Modified: | 26 May 15:13 |
| Reporter: | Jimmy Lee | ||
| Status: | Closed | ||
| Category: | Connector/Net | Severity: | S1 (Critical) |
| Version: | 6.0.3 | OS: | Microsoft Windows |
| Assigned to: | Reggie Burnett | Target Version: | |
| Tags: | Connector/Net, roles, roleprovider | ||
| Triage: | D2 (Serious) | ||
[23 Apr 3:37]
Jimmy Lee
[23 Apr 9:28]
Tonci Grgin
Hi Jimmy and thanks for your report. I'm using c/NET 6.0.2, .NET FW 3.5 and VS2008Pro on W2K8SEx64 box: http://localhost:64134/asp.netwebadminfiles/security/security.aspx Roles Existing roles: 0 Disable Roles Create or Manage roles Create or manage roles -> add 2 roles -> go back to security.aspx: Roles Existing roles: 2 Disable Roles Create or Manage roles I guess I can't repeat your problem or am I missing something?
[24 Apr 2:53]
Jimmy Lee
Hmm, Maybe our web.config isn't right somehow? Could you point me to any documentation on this? Right now I'm going off some blog and I don't know how 'official' that is :) Is the only way to enable roles and membership via manually configuring web.config?
[24 Apr 3:10]
Jimmy Lee
Here's my web.config xml
<roleManager enabled="true" defaultProvider="MySQLRoleProvider">
<providers>
<clear />
<add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider,
MySql.Web, Version=6.0.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"
autogenerateschema="true" connectionStringName="EmoHelpMySQL" applicationName="/" />
</providers>
</roleManager>
<membership defaultProvider="MySQLMembershipAppProvider">
<providers>
<clear />
<add name="MySQLMembershipAppProvider"
type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.0.2.0,
Culture=neutral, PublicKeyToken=c5687fc88969c44d" autogenerateschema="true"
connectionStringName="EmoHelpMySQL" enablePasswordRetrieval="false"
enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/"
requiresUniqueEmail="true" passwordFormat="hashed" maxInvalidPasswordAttempts="7"
minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" />
</providers>
</membership>
[24 Apr 6:49]
Jimmy Lee
More info. Sorry for the bits and pieces. We've tried on Vista 32 bit and Vista 64 bit VS2008. When we uninstall and go back to 6.0.0, the roles are working again.
[24 Apr 8:03]
Tonci Grgin
Jimmy, thanks for info provided.
[24 Apr 8:59]
Jimmy Lee
Tested on 6.0.3, we had the same issue too.
[24 Apr 10:29]
Tonci Grgin
Jimmy, can you please attach sample project demonstrating this problem?
[27 Apr 1:52]
Jimmy Lee
sample project
Attachment: WebSite1.zip (application/x-zip-compressed, text), 8.16 KiB.
[27 Apr 9:36]
Tonci Grgin
Bug#44459 was marked as duplicate of this report.
[27 Apr 10:12]
Tonci Grgin
Jimmy, I have problem with your test case: The following message may help in diagnosing the problem: Unable to initialize provider. Missing or incorrect schema. (F:\PublicShare\temp\Bug44414\web.config line 45) I have executed your script and added users as described. I have also changed "TestMySQL" to match my environment. Both "admin" and "basic" users work as expected. Any ideas?
[27 Apr 10:27]
Jimmy Lee
don't see anything wrong with my web.config? line 45 points to <add name="MySQLMembershipAppProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.0.2.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" autogenerateschema="true" connectionStringName="TestMySQL" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="true" passwordFormat="hashed" maxInvalidPasswordAttempts="7" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="0" /> Membership works for us too, just not roles...
[27 Apr 10:31]
Jimmy Lee
could you, Tonci, perhaps create a sample project that I could try? :)
[3 May 12:47]
Nalle Jacobsson
This bug is also present in 5.2.6. Also, Roles.IsUserInRole() does not function correctly, it returns false when it should return true. Downgrading to 5.2.5 fixes it.
[3 May 22:45]
Chris Pels
I have also reported this same bug in #44414.
[3 May 22:46]
Chris Pels
Make that #44419.
[3 May 23:28]
Chris Pels
You say downgrading to 5.2.5 works, but the current 5.2 d/l is 5.2.6. Any idea on how to get 5.2.5 for the interim until this is fixed?
[4 May 0:48]
Nalle Jacobsson
Get 5.2.5 here: http://dev.mysql.com/get/Downloads/Connector-Net/mysql-connector-net-5.2.5.zip/from/pick
[4 May 10:34]
Tonci Grgin
Bug#44619 was marked as duplicate of this report.
[5 May 11:57]
Tonci Grgin
Bug#44655 was marked as duplicate of this report.
[6 May 22:42]
S. Davis
MySQL logs the following SQL query:
SELECT r.name FROM my_aspnet_Roles r WHERE r.applicationId=-1
Should GetRolesByUserName use app.FetchId(connection) instead of app.Id?
[7 May 1:25]
S. Davis
With respect to reproducing the bug: The first time you add Roles using the ASP.NET Web Site Administration tool, they appear in the list, but if you restart the tool, they don't appear.
[7 May 1:36]
Chris Pels
Also, when you click the "manage" link there is an error and when you add/edit a user there are no roles listed for selection even though they are in the DB table.
[7 May 10:49]
Tonci Grgin
Verified as described. How to repeat: - Create database "cnet", execute SQL scripts - Open attached web project or create new one - Add references to MySQL.Data and MySQL.Web - Website/ASP.NET Configuration - Add roles. All there. Try to manage roles, roles disappear - Check log, no DELETES, roles are still in table 147 Init DB cnet 147 Query SELECT id FROM my_aspnet_Applications WHERE name='/' 147 Query INSERT INTO my_aspnet_Applications VALUES (NULL, '/', 'MySQL Role provider') 147 Query INSERT INTO my_aspnet_Roles Values(NULL, 1, 'admin') 147 Init DB cnet 147 Query SELECT r.name FROM my_aspnet_Roles r WHERE r.applicationId=1 146 Quit - Add new user, no roles available - Try to recreate same roles fails, of course and so on... I am also noticing lack of documentation regarding this of which docs team has been notified. Thus it's possible I got it all wrong...
[7 May 10:51]
Tonci Grgin
Roles disappear with following error: The following message may help in diagnosing the problem: Object reference not set to an instance of an object. at System.Web.Administration.WebAdminPage.CallWebAdminHelperMethod(Boolean isMembership, String methodName, Object[] parameters, Type[] paramTypes) at ASP.security_roles_managesinglerole_aspx.Page_Load() at System.Web.Util.CalliHelper.ArglessFunctionCaller(IntPtr fp, Object o) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
[7 May 18:05]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/73588
[7 May 18:06]
Reggie Burnett
fixed in 5.2.7 and 6.0.4+
[8 May 0:55]
Jimmy Lee
yay!
[8 May 2:50]
Chris Pels
Being new to MySql, how do I d/l the patch in the link? It seems to be just a description of what was corrected. Is 6.0.4 available? Thanks
[8 May 3:17]
Jimmy Lee
I'm guessing they'll release it soon enough. Also you could try the SVN, not sure if the changes are open to public yet tho.
[8 May 8:26]
Tonci Grgin
Chris, it's a diff file one should apply to current sources :) Jimmy, of course it's open, you can see the patch, right? Now, as bug is in documenting state I guess it's already pushed into repository too. One can download SVN client (I use TortoiseSVN) and set up repo from http://svn.mysql.com/svnpublic/connector-net. Latest version (in this case 6.0) is in Trunk.
[19 May 3:09]
Jimmy Lee
Wondering if 6.0.4 is going to be released soon?
[19 May 18:45]
Reggie Burnett
We are planning to get 6.0.4 out in the next 1-2 weeks but we should have some build snapshots available from the snapshot page in the next couple of days
[26 May 15:13]
Tony Bedford
An entry was added to both the 5.2.7 and 6.0.4 changelogs: The Connector/NET MySQLRoleProvider reported that there were no roles, even when roles existed.
[29 May 2:47]
Robson Castilho
Hi everybody I had the same problem discussed here (connector 5.2.6). Where can I download connector 5.2.7 from? Thanx
[9 Jun 17:55]
Tonci Grgin
Bug#45337 was marked as duplicate of this report.
