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

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?
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

samtran0331Connect With a Mentor Commented:
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.
You use the System.Web.Security.Membership and System.Web.Security.Roles objects to programatically create, edit, and delete members and roles.
edenmachineAuthor Commented:
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.
Never miss a deadline with

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

edenmachineAuthor Commented:
sorry the table is actually called "aspnet_Applications"
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. "

edenmachineAuthor Commented:
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?
edenmachineAuthor Commented:
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.
>>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: 
All Courses

From novice to tech pro — start learning today.