Memberhip.GetUser (username) - how to return the correct corps?

I get the username from the URL so blah.com/kevinuk.

I want the page to contain some content on the KevinUK page, which is stored in the membership table, but when I do the following, it returns the same corpus as the input.

MembershipUser member = Membership.GetUser(user);
string userName = member.UserName;

How to use a lower username as a parameter and return a value from a database with the correct case?

+3
source share
3 answers

It's unclear which of the membership providers you use, but you can easily go down from this and override the GetUser method.

Create a class inherited from the MembershipProvider class.

public class MyMembershipProvider : MembershipProvider

{

    public MyMembershipProvider()

    {

        //

        // TODO: Add constructor logic here

        //

    }

}

Override the getUser method.

public override MembershipUser GetUser(string username, bool userIsOnline)

{
 ... Logic here to do a case insensitive lookup...

}

, -, :

<system.web>
    <membership defaultProvider="MyMembershipProvider" userIsOnlineTimeWindow="10">
        <providers>
            <add name="MyMembershipProvider" type="Providers.FIFAMembershipProvider"     connectionStringName="ADConnectionString" ... />
        </providers>
    </membership>
</system.web>

:

http://www.eggheadcafe.com/tutorials/aspnet/30c3a27d-89ff-4f87-9762-37431805ef81/aspnet-custom-membership.aspx

http://msdn.microsoft.com/en-us/library/ms366730(VS.80).aspx

+1

, Membership.GetUser(string username) MembershipUser . , Membership.GetUser(object providerUserKey), GUID , , .

GetUser(), .

+2

Confused about the same problem and tried the solution above = The easiest way to get the right case:

var user = Membership.GetUser(userName.Text);
user = Membership.GetUser(user.ProviderUserKey);
var correctCasing = user.UserName;
0
source

Source: https://habr.com/ru/post/1710577/


All Articles