64-bit versus 32-bit IIS

Nov 1, 2011 at 8:22 AM

Hi. 

First of all, thank you for a great module. I use it a lot, and are very satisfied with the way it works.

There is one minor issue that you might look into if you find it appropriate:

There is a difference in how Hash-codes get generated in a 64-bit and 32-bit environment.

http://msdn.microsoft.com/en-us/library/system.string.gethashcode.aspx

When you store the OpenAuthenticationPart record, the HashedProvider get stored with the record as an integer value.

And when you call the OpenAutjenticationService with "GetUser", it also checks if the user is associated with the correct provider value.

So, if you have the Orchard site running on a 32-bit IIS application pool, and move it to a 64-bit IIS, none of the users can log on any more because the hashed provider value differs.

(A lot of users might be moving from 32-bit towards 64-bit servers during the coming years)

They will get the message "User does not exist on system" or a duplicate user if auto-registration is enabled.

You might want to disable the hashed provider check, or store it as strings or calculate it in any other way?

Best regards,

Nov 29, 2011 at 11:25 PM

Hey Ingljo,

I have noticed this error too. There are alot of fixes to this and a number of other things on the dev branch. Also alot of work on the dev branch went in to scope based permissions so I would remeommend doign a pul from there.

LEt me know if you run in to any problems.

Cheers, Nick