Hows can I create a new Application in the ASP.NET Membership?

Posted on 2008-06-19
Last Modified: 2013-11-07
I'm using the ASP.NET Membership for my web site authorization.  I don't see an obvious way to create new Applications outside the Website Administration Tool.  Are there methods built in for this or do I need to just add them programmatically myself?
Question by:edenmachine
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
LVL 16

Expert Comment

ID: 21828675
You use the System.Web.Security.Membership and System.Web.Security.Roles objects to programatically create, edit, and delete members and roles.

Author Comment

ID: 21830909
Yes, I have no problem creating users and roles.  My question was how to create/add/insert a new Application.  There's a table in the Membership db that is called "Application" and each user belongs to an Application via an ApplicationID.

Author Comment

ID: 21830917
sorry the table is actually called "aspnet_Applications"
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 37

Expert Comment

ID: 21832843
It sounds like you want 2 different apps to use the same membership database right?
You can't set the application id manually....but to make 2 apps use the same membership db.... in the web.config of both, just make sure they both point to the same membership database (same connection string) and if you want them to share users or not share users, follow the tip.

"Another important property to set in the membership configuration is the applicationName property. The applicationName allows one database to support multiple web applications. If you have two web applications and want both apps to share the same user base, give both applications the same applicationName and point them to the same aspnetdb database. If you want both applications to use the same database but not share users, give each application a unique applicationName property. "


Author Comment

ID: 21835847
Actually it's really just one Web application but I would like to separate the Users by Company so there could be duplicate usernames for each Company.

Like Company A could have a jsmith and a Company B could also have a jsmith but there can't be two jsmith usernames in Company B or Company A.  The only way to do this is to have an application for each Company I would think.  I guess I could just insert the Application records manually - just figured there was a built in method to do that.  I would have figured that I wasn't the only person on the planet that needed to do something similar to this.  Am I way off base in my thinking here or something?  I there a better way to do what I'm trying to do?
LVL 37

Accepted Solution

samtran0331 earned 500 total points
ID: 21845156
Out of the box, there isn't a method to do that (that I know of).
I guess MS didn't have that functionality in mind with their base membership.
But they did do a great job of making the membership fully customizable and extendable.
So it would be possible for you to do something like add another primary key to the user table and then on the login, require the user to enter their company name...
or if you force the user name to be an email address, then and would be fine using the out of the box membership.

Author Comment

ID: 21846172
Yeah, after messing with it - Application doesn't allow for what I'm trying to do.  I did add on company name at the login and I had to append company name to the username so that it'll allow for non-unique usernames accross different companies like: Acme_JohnSmith and WiggetCo_JohnSmith since I can't just have two JohnSmith usernames otherwise for different companies.  I just had to tap into the Login functionality and append the company and username when they log in.

However,  I kind of like the email address for a username idea a lot better - I never thought about doing that.  That would kind of solve all my problems and keep me from having to ask them for company each time they log in.  Plus, using email address for login is pretty acceptable these days anyway.
LVL 37

Expert Comment

ID: 21846311
>>keep me from having to ask them for company each time they log in

You could still do what you're doing, but you don't have to "ask" the user to input/choose the company name by using a querystring variable...
Like tell everyone at company A to login to the site at:
and then you can use the querystring value to append...

At least that would make it a little easier on the user...

or even a bit better, have a company table in the db so that you can: 

Featured Post

[Webinar] Code, Load, and Grow

Managing multiple websites, servers, applications, and security on a daily basis? Join us for a webinar on May 25th to learn how to simplify administration and management of virtual hosts for IT admins, create a secure environment, and deploy code more effectively and frequently.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question