Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 558
  • Last Modified:

ASP.NET Membership service creating Applications

I'm using the ASP.NET membership service in my application, but for some reason it creates 2 ApplicationIDs in the Applications table.

I've set the ApplicationName attribute in the web.config, but it still occurs. I have have the correct application name I've defined, and also a default application called '/' that gets created.

Any idea why this happens, as users are created for both, bu the membership table only gets populated with users for the '/' applicationID.
0
wint100
Asked:
wint100
  • 6
  • 5
1 Solution
 
guru_samiCommented:
Most likely it is from Role Provider or Profile Provider. Check this
0
 
wint100Author Commented:
Hmm, great info, but I dont have these elements in my web.config at all. I only have the MembershipProvider defined. Do you think this could be the problem?
0
 
guru_samiCommented:
/ may be created from your old setting before you had your new ApplicationName set.

If you create a new user do you see two users being created in aspnet_Users table or just one?

If just one you don't need to worry.

Or you can share your membership provider settings from web.config here.

Or for some reason it could be from conflicting settings from your machine.config.
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
wint100Author Commented:
I cleared out the table today and I still get 2 x Applications created and new users are created twice. Annoying thing is that the Membership tabe gets populated with Users from the '/' ApplicationID, but UsersInRole has users from '/MyApplicationName' ApplicationID. The service works well, but if I do alookup on the Users email based on Role, it returns nothing because the UserID for the Role doesn't exist in the Membership table.

<membership>
      <providers>
        <clear />
        <add name="AspNetSqlMembershipProvider" 
             type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
             connectionStringName="LocalSqlServer" 
      enablePasswordRetrieval="true" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="false" 
      applicationName="/MyApplicationName" 
      requiresUniqueEmail="false" 
      passwordFormat="Encrypted" 
      maxInvalidPasswordAttempts="20" 
      minRequiredPasswordLength="4" 
      minRequiredNonalphanumericCharacters="0" 
      passwordAttemptWindow="10" 
      passwordStrengthRegularExpression="" />
      </providers>
    </membership>

Open in new window

0
 
guru_samiCommented:
where is your RolesProvider in web.config or machine.config? Check your machine.config as that's my doubt.

Also try changing the name of the provider and also add defaultProvider attribute to your membership provider

<membership defaultProvider="MyCustomMembershipProvider">
<providers>
        <clear />
        <add name="MyCustomMembershipProvider" ......
0
 
wint100Author Commented:
It is in the web.config as this gets deployed with my application, I don't touch the machine.config and this happens on my dev machine and production.
0
 
wint100Author Commented:
Also, there i no mention of my RoldProvider in the web.config, the only mention of roles and permissions is as follows:

<roleManager enabled="true" />
    <authentication mode="Forms">
      <forms name=".MyApplicationName_ASPXAUTH" />
    </authentication>
    <profile>
      <properties>
        <add name="FriendlyName" />
        <add name="PictureURL" />
        <add name="Permissions" />
        <add name="AllowedSites" />
      </properties>
    </profile>

Open in new window

0
 
guru_samiCommented:
If you don't have your RolesProvider defined in your web.config, it is taking up from machine.config. You can define it explicitly in your web.config like in the link I provided earlier.
0
 
wint100Author Commented:
That's great, I'll test it ASAP. Thanks
0
 
guru_samiCommented:
Oh I missed your other comment with roles provider...so it looks you need to define both Roles and Profile Providers explicitly and set the applicationName as your membershipprovider.
0
 
wint100Author Commented:
Seems to have worked perfectly, thanks, just need to update my installer and release a new build now.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 6
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now