None of my usename / passwords are working on the frontend of my website after upgrade.
Trying to drill down to the root of the problem, I have got this far ..
e.g. I have a user with username Dennis, whose password I know
in the cmsMember table, the entry is there with Loginname Dennis and hashed passowrd 5uL9frK8c9dT111x6Zsvqx/3p1V=
Now I thought the problem must be to do with the hashing changing, but I have created another user, say with username Dennis2, set the password to be what I know the password is for user Dennis, and the result is the same hashed password value in the db, and yet this new created user is able to login fine.
So the problem is somewhere else .. I have tried rebuilding the member index, but doesnt fix it.
Thanks Jan for answering but I don't think the API is the issue here .. maybe I was not too clear,
The error occurs in the Membership.ValidateUser function for the forms authentication ..
If I create a user in the back-end and now, that code works fine as it did before.
My problem being that it now doesnt work for all the username / passwords that I had before my upgrade .. it just fails the authentication; Even for a username where I can see in the db (cmsmember) the hashed password is the same for this new user i created as the example one i am testing that was already there. Now the ValidateUser function must call the Umbraco membership provider, so that must be doing some check or something that fails for my users already there before the upgrade.
Ok, just to be sure...are you talking about users that should be able to login to the Umbraco backend? Or is it members that can login on an extra net of the actual website?
yes sorry should have said "create a member in the back-end" not a user.
This is about members login into the website, not users logging into the back-end .. I only had one user for the back-end and that worked fine after upgrade.
2014-10-29 02:47:04,996 [6] INFO Umbraco.Web.Security.Providers.UmbracoMembershipProvider`2[[Umbraco.Core.Services.IMembershipMemberService, Umbraco.Core, Version=1.0.5394.16131, Culture=neutral, PublicKeyToken=null],[Umbraco.Core.Models.IMember, Umbraco.Core, Version=1.0.5394.16131, Culture=neutral, PublicKeyToken=null]] - [Thread 114] Cannot validate member XXXXXXX because they are not approved
so I can fix it by setting the IsApproved property to True
I guess something must have changed between versions with handling this that meant all my users were not approved, but anyway that seems to be the solution.
Ok - Well, I'm not sure how much has changed in the internal Umbraco API's with the changes that have been made to the member section.
In the notes from 6.2.0 it says the following
Note that the UmbracoMembershipProvider, UsersMembershipProvider and UmbracoRoleProvider have been updated in the web.config
Also note that it's a good idea to rebuild your Examine indexes (in the developer section, go to the "Examine management" dashboard and for each of your indexes go to "Info & Tools" to rebuild) in case you were affected by a bug we found in there.
Have you been aware of this while you did the upgrade?
Thanks .. I notice if I create a new Member Type now then the isApproved property is of a different type than on my current Member Type i use dating back from v4 days and I guess in the upgrade the properrty value got lost somewhere. I did try rebuilding indexes but hadn't helped. Also I had tried it with both the old and new membership providers and that didnt help it either. One more q on the same subject, do i still need the below in my web.config, and if so is there a v7 equiv .. or is this obselette now?
Member logins not working after v6 to v7.1.8 upgrade
None of my usename / passwords are working on the frontend of my website after upgrade.
Trying to drill down to the root of the problem, I have got this far ..
e.g. I have a user with username Dennis, whose password I know
in the cmsMember table, the entry is there with Loginname Dennis and hashed passowrd 5uL9frK8c9dT111x6Zsvqx/3p1V=
Now I thought the problem must be to do with the hashing changing, but I have created another user, say with username Dennis2, set the password to be what I know the password is for user Dennis, and the result is the same hashed password value in the db, and yet this new created user is able to login fine.
So the problem is somewhere else .. I have tried rebuilding the member index, but doesnt fix it.
Any help appreciated, hope above makes sense!
Tom
Hi Tom
The membership API has changed from version 6.2 and version 7.1 of Umbraco.
So if you have been upgrading from something prior than Umbraco 6.2 that's probably the reason why.
Perhaps you should have a look in the documentation here? http://our.umbraco.org/documentation/Reference/Management-v6/Services/MemberService - You probably need to do some refactoring.
Hope this helps.
/Jan
Thanks Jan for answering but I don't think the API is the issue here .. maybe I was not too clear,
The error occurs in the Membership.ValidateUser function for the forms authentication ..
If I create a user in the back-end and now, that code works fine as it did before.
My problem being that it now doesnt work for all the username / passwords that I had before my upgrade .. it just fails the authentication; Even for a username where I can see in the db (cmsmember) the hashed password is the same for this new user i created as the example one i am testing that was already there. Now the ValidateUser function must call the Umbraco membership provider, so that must be doing some check or something that fails for my users already there before the upgrade.
best, tom
Hi Tom
Ok, just to be sure...are you talking about users that should be able to login to the Umbraco backend? Or is it members that can login on an extra net of the actual website?
/Jan
yes sorry should have said "create a member in the back-end" not a user.
This is about members login into the website, not users logging into the back-end .. I only had one user for the back-end and that worked fine after upgrade.
Ok I have found the answer to this,
in the log there is entries
2014-10-29 02:47:04,996 [6] INFO Umbraco.Web.Security.Providers.UmbracoMembershipProvider`2[[Umbraco.Core.Services.IMembershipMemberService, Umbraco.Core, Version=1.0.5394.16131, Culture=neutral, PublicKeyToken=null],[Umbraco.Core.Models.IMember, Umbraco.Core, Version=1.0.5394.16131, Culture=neutral, PublicKeyToken=null]] - [Thread 114] Cannot validate member XXXXXXX because they are not approved
so I can fix it by setting the IsApproved property to True
I guess something must have changed between versions with handling this that meant all my users were not approved, but anyway that seems to be the solution.
Thanks
Hi Tom
Ok - Well, I'm not sure how much has changed in the internal Umbraco API's with the changes that have been made to the member section.
In the notes from 6.2.0 it says the following
Note that the UmbracoMembershipProvider, UsersMembershipProvider and UmbracoRoleProvider have been updated in the web.config Also note that it's a good idea to rebuild your Examine indexes (in the developer section, go to the "Examine management" dashboard and for each of your indexes go to "Info & Tools" to rebuild) in case you were affected by a bug we found in there.
Have you been aware of this while you did the upgrade?
/Jan
Hi Tom
Oh, turns out I was writing on the answer above and then got in a meeting and while finishing it up you posted the solution :D
Nice that you found a path.
Cheers, Jan
Thanks .. I notice if I create a new Member Type now then the isApproved property is of a different type than on my current Member Type i use dating back from v4 days and I guess in the upgrade the properrty value got lost somewhere. I did try rebuilding indexes but hadn't helped. Also I had tried it with both the old and new membership providers and that didnt help it either. One more q on the same subject, do i still need the below in my web.config, and if so is there a v7 equiv .. or is this obselette now?
<profile defaultProvider="UmbracoMemberProfileProvider" enabled="true" inherits="MyUmbracoExtensions.MemberProfile, MyUmbracoExtensions">
<providers>
<clear />
<add name="UmbracoMemberProfileProvider" type="umbraco.providers.members.UmbracoProfileProvider, umbraco.providers" />
</providers>
<properties>
<clear />
<add name="auth_guid" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" />
<add name="first_name" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" />
<add name="last_name" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" />
<add name="member_city" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" />
<add name="member_country" allowAnonymous="false" provider="UmbracoMemberProfileProvider" type="System.String" />
</properties>
</profile>
Thanks for posting your solution, Tom, we just had the same problem and this really helped!
H5YR
is working on a reply...