VB - Adding UserId To Custom Table After Membership.CreateUser?
Nov 18, 2010
There are lots of posts about this issue but I can't work out the answers as most of them are for C# or similar. I'm trying to automatically insert the UserId generated by Membership into a custom table. I have membership working correctly, as well as the custom table (I'm able to insert other things from the registration form). But I can't get it to extract the generated UserId and insert it into the custom table. Here's my code:
[Code]....
As you can see I've experimented with the parameters for inserting the record, but that doesn't work (I get an error about ProviderKey not being a part of system.web.security.membershipuser).
I have a problem with my membership management. I moved the aspnet membership database to my MSSQL server and I would like to create an add user form not using the CreateUserWizard (I would like to add more information then in the simple CUW). I've created the form and I would like to use the Membership.CreateUser method to add the user. After running the script (VB) the user is available in the aspnet_Users table, also in the aspnet_UserInRoles table but not in the aspnet_Membership table. I'm sure that something is wrong with the configuration, I just can't find what.
I want to migrate users and posts from an existing forum I am using to a ASP.NET membership table without using CreateUser. Basically I want to maintain userIDs so that when I migrate posts they continue to associate with the correct users. Is there a way to do this or would I be better off just using CreateUser and then finding a way to re-assign the post-by-UserIDs to the correct new IDs?
I have a confusing question, I have a user table and it stores all the usual data for a user that you would expect but im trying to figure out how a user could add another user?
Sounds strange but each user in the User table has his own UI which is UserID how could I add another table where UserID can have a relationship with another UserID?
i.e how would I right the syntax for the above question if I wanted to display all the UserIDs friends on a page. How would I add a friend.
i'm new to membership. i have a table named contact, with a field, userId that must get its data from the membership users table. so when a user is created i have to get the userId from membership users table. how can i do that?
i'm using asp.net membership for logins/registeration. i have a bookings table with few fields, lets say first_name, last_name, product_name and userID.when the user submits 'buy' i want to get the userID from the membership user tablem that way i know whose made the booking. i'll have these two tables (bookings & user tables) linkedbut how do i get userID from the user table to pass to bookings table? i checked the membership class and it gives options like-Membership.GetUser(), Membership.GetUserNameByEmail(), Membership.GetAllUsers() etcothing for getting user id. user id is stored like this: c1c91682-449f-45dd-b20e-3dac5315bba4
I created the Table Profile Provider with the VB.NET and it works perfectly but I have one issue with it.. My Table (UserProfile) can't be linked with any other tables because the UserID on userprofile is different than any other table yet when I do profile.firstname on the vb code it works perfectly. Say for example I have a username called john If I do select * from aspnet_users where username = 'john' The results would come to 2 rows, 1 which has a userid and applicationid that is used on ALL the tables in my database EXCEPT for userprofile The second one would have a applicationid and userid that is only use on my userprofile table.
I recently read Scott Mitchell's article series "Examining ASP.NET's Membership, Roles, and Profile". In Part 6 [URL] It says "to store additional, user-specific fields...If you are using the SqlMembershipProvider, this would mean creating an additional database table that had as a primary key the UserId value from the aspnet_Users table and columns for each of the additional user properties."
I created a table named Thread to store some specific users information and comments they make. I set the ThreadId as the primary key and the UserId as the foreign key to the UserId in aspnet_Users table. But when I run the application and use a user's account to submit a comment, there is an error in my Comments.aspx.vb page "Cannot insert the value NULL into column 'UserId', table 'ASPNETDB.dbo.Thread'; column does not allow nulls. INSERT fails.The statement has been terminated."
How can I make the logged-on user's UserId inserted into the Thread table when storing the user's other data information?
I'm having issues using the membership.createuser method. My code is below, I get a null exception as runtime.
Dim username As String = userNameTxt.Text Dim password As String = passwordTxt.Text Dim email As String = emailTxt.Text Dim status As New MembershipCreateStatus Dim blank As String = "" Dim provider As MembershipProvider Dim providerUserKey As New System.Object Dim user As MembershipUser user = provider.CreateUser(username, password, email, blank, blank, True, providerUserKey, status)
I'm currently writing a website in VWD2010 Express, which requires me to write a custom membership provider.
I've followed the tutorial here [URL] , which seems relatively straight forward.
I am, however, struggling at the stage where the custom membership provider is included in a site. Now obviously the tutorial writer is using a different version of VS to me, so I've had to adapt it somewhat. Instead of building the class as a dll, and referencing that in a new site, I've started a new site from scratch and added the custom membership provider to the Add_Code file (HDIMembershipProvider.vb). It is now required that I add details of the provider to the web.config file, which seems to be where I am encountering problems.
The tutorial requires me to add:
[Code]....
within the System.Web part of the web.config file. However, upon running the site I get the error:
Could not load type 'HDI.AspNet.Membership.HDIMembershipProvider'.
I realise that how you reference the class must have changed since the tutorial was written, but I can't for the life of me find the format I should be using, and trial&error has turned up nothing so far.
Error 1 The type or namespace name'CreateUser' does not exist in the namespace'LocalGarageFinder.Membership' (are you missing an assembly reference?) I have checked the namespaces. all in. Security.Web.Security;
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; [code]...
I have the default membership table that was added automatically, then just used server explorer to add more columns, like FirstName, LastName, etc. In my code I can access all the default columns, but not the ones I created. Any thing special I need to do?
Here is how I access the table. using user. gives me all columns, but the one I created.
string userName = User.Identity.Name; MembershipUser user = (MembershipUser)System.Web.Security.Membership.GetUser(userName).ProviderUserKey;
I am wondering what's the easiest way to go about doing this. I am using the user signup form control that comes with .net and they can create user through the application and once they do users see the "members area" of my site.
However, they are only trial members. using my paypal form, once they pay for service, they become a paid member.. so I want to keep track of this in the membership table by having a column in that table: bit registeredUser. Do I have to create my own overriden membership class for this, at first I thought there was already a column like this called isApproved, but seems thats for something else because if its set to false user cannot even login.
I'm working with 2 sites (Intranet and Extranet) that share the same .net membership database (the standard out of the box version). The Intranet and Extranet site users are stored in separate "Applications" within the membership database. I create all users for both sites from within the intranet site. Everything seems to be working except that when i create a user for the extranet site I end up with 2 rows for that user in aspnet_users. One with userID (guid) that I send in and another with a different guid. I'm assusming that .net is creating an anonymous user. The intranet membership provider is the default.
I could delete this row through sql but am hoping for a more elegant solution. Any suggestions?
I'm creating a new middle tier where all of our client calls will go through a WCF service. We're using ASP.NET membership with the service in order to authenticate users. The middle tier will be hitting an existing database in which we already have an InetUsers table containing usernames and passwords.This is where it starts to get messy. This new middle tier will be used by our web application, but not by our existing desktop application, which will - until we rewrite it at some point in the future - be using the old COM+ middle tier. Administration of the users for the web application takes place in the desktop application. In other words, users will be created and passwords set and changed from within the desktop application, which in turn hits the already existing InetUsers table.Ideally, what will happen is when we deploy the new middle tier, we'll take all of the users from the InetUsers table and create records for them in aspnet_Users and aspnet_Membership. Then we'll set a trigger on the InetUsers table to keep aspnet_Users and aspnet_Membership up-to-date.There's a whole bunch of questions wrapped up in this, so I'll try and list them all out here:Is this the right approach? Obviously having this data in two places isn't ideal, but bear in mind here that I'm not the final decision maker here and we're kinda stuck with some legacy stuff here, at least for now. Still - maybe there's a better way.In the same vein - would we be better off coding our own membership provider rather than using the SqlMembershipProvider? How difficult/easy is it to do so?If we use this approach, I plan on using the aspnet_Membership_XXXX stored procedures for the initial population of the tables as well as in the triggers. Having done some research into this, it appears that if I want to call aspnet_Membership_CreateUser directly from SQL (ie in a trigger...) rather than using the API, I have to store clear text passwords since I can't get the salt and the hash right otherwise. Is this true?Does any of this even make sense or am I going about this the wrong way to begin with?
i have implemented custom MembershipProvider and now i would like to use CreateUserWizard to create new users.. the problem is that i want to store in the db more information that normally (e.g. first and last name). There is function:
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { throw new NotImplementedException(); }
which i can implement but it won't store first name etc. i found here: [URL] solution that i can overload this function and call it manually but the default CreateUser function will still be called in this case...
This is my first membership provider; I converted the sample provider [URL] to SQL. I created a vb class provider and put it into the App_Code folder. After it was created I tried to modify my webconfig but the error pops up. I don't know what else to try, I don't know if I have missed something
I have a CreateUserWizard control to be able to allow an anonymous user to create an account. Provided that all entered information is correct that the user enters, a new account is created for him/her. But also, when this user is created, I want to [b]also[/b] add the username to another table in my ASPNETDB database. How exactly can I "tap" into the event that creates a user and adds it to the appropriate tables (aspnet_Users, Members, etc.) and make it add the username to yet another table?
I have seen a lot of question asking about known user name and how to retrieve UserId accordingly. How about the other way around?
For some reason I have UserId, but I don't want to include aspnet_User table into my data entities. Is there any way I can retrieve the user name without querying against aspnet_User table?
i am trying to show a list of users of my application "school", when admin logs in then he can view all the users in list but when school principals logins, he should get only users of his school, So i thought to get the current loggedIn userId first and then by that userId i'll get schoolId since userId is foreign key in school table...once i'll get the schoolId i can show the members of that school.
But my problem is how to get the UserID of currently loggedIn. I'm using MVC 1.0 Asp.Net -- "Membership" if my logic above is wrong then tell me the alternate good idea, so that principal can see only his users list.
I am creating a few web services for use with a mobile application. My current site uses asp .net membership and one of the web services will validate username and password.
In the web service I get passed uname and pword and just use
Code: If Membership.ValidateUser(username, password) = True Then Return "True" Else Return "false" End If
Is there a similar way to get the userid without logging the user on or do I need to create a Stored procedure?