Security :: How To Automatically Insert UserId Into A Custom Table
Jun 27, 2010
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 creating a web project for one of my uni modules using Visual studio 2010. I'm using asp.net membership and have all of my sql-server tables set up correctly (I'm pretty sure).
I have a form that I have created myself that inserts into the database using sqlDataSource.insert(). I had some problems initially with not being able to insert any data into the table at all, but I have cleared that up.
My problem now is that I need to insert the currently logged in user's userID into one of the columns of the table. But every time I hit the submit button, I am told I cannot insert null values in the userID column.
I can retrieve the userID using this snippet:
[Code]....
This is the code behind for the page:
[Code]....
As you can see it is a bit of a mess, I've been frantically trying different variations, as I need to catch up a little with other uni modules.
Here is my SQLDataSource from the .aspx page, The controlparameters work fine for the other data I am inserting. maybe the <asp:parameter name="userID" /> is wrong?
[Code]....
I'm relatively new to vb, and I come from a html & css background.
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.
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).
It sounds pretty simple, but I can't find a way to make it work. I have a FormView with a InsertTemplate where it inserts the current logged in user's UserId and content from a HTMLeditor, and a EditTemplate where it retreives the current logged in UserId and shows content from database in the HTMLeditor.
How can I get it to show EditTemplate if the userId exist in the table, and InsertTemplate if the UserId does not exist in the table?
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
Perhaps this is a simpler VS9 question, but I want to link a SQLServer table with additional user data to the standard SQLServer membership table using the GUID userID as a foreign key. I go into design mode of my table, right-click on relationships, and click add in the dialog. but the left hand column shows me only the tables in my database. How do I get it to show the tables in the ASPNETDB.MDF database? I went through the tutorial (http://www.asp.net/learn/security/tutorial-08-cs.aspx), but it seems to magically appear in there without explanation.
I have a table setup in the database for users who are basically going to create a classified listing. How can I setup a diagram that would easily create a table relationship with the Users table, so that it automatically inserts the users username when they submit a new ad? If so, how? I've tried adding a UserName row to my table and creating a relationship with the Users table "UserName" row, but it wasn't accepting the relationship when I tried to save the diagram...apparently because the UserName row in the Users table isn't a primary key?
Also, one this is setup, what's the best way to provide the user a way to see a list of their ads and have the ability to edit them?
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.
Our application lets the administrator create new users. Since the administrator is logged in, I have set Logincreateduser = false so that the administrator is not logged out even after creating the new user.
The problem is :I need the userid of the newly created user to store additional details of the user in another database table. I see that i can get the username using Createuserwizard1.username; but how do I get the userID?
I have used session to the creation of user and led them to the edit page ..But how do I retrieve my userID off from the session, or are there other ways to retrieve userID from?
I am in the process of creating my database and I have the pending question of whether I should add a UserID using INT to the membership table. I am not replacing the UserID that is a UniqueIdentifier I am just adding a UserID with INT.
The reason I want to do this is because I have about twelve other tables that uses the UserID column. It will be easy for users to insert data into the other tables and I foresee the tables getting to be millions of rows, by using an UserID INT it will avoid the mass amount of storage from the UniqueIdentifier column.
Now my question is what are my repurcussions of doing this? I've already found out one, and I believe it is my biggest question, if I were to create an insert command in .net how would I grab the UserID INT rather then the UserID UniqueIdentifier to insert it into my tables? For example, I can get the userid this way:
I am simply create a form that accept some user details and insert some details into membership table and rest of other table.
Membership.CreateUser(username,password,email)
Roles.AddUserToRole(username,"user");
this will insert the details into the aspnet_users table and user is not assigned to any role and no membership record insert. Please give me some ideas how to do this.
i m working on mvc 3.0 application and using bulting feature of membership for creating account and i have using ASPNET_REGSQL.EXE command than i have migrated table in our database but when i create any user in membership mvc user account but in database, records are not inserted of user ...
I am doing a data warehouse project.I have two tables tblA (id, type) and tblB(city, no_crimes, type).I want to create (insert) a number of rows based on the value of no_crimes.For Example, in tblB(Leeds, 2000, murder). SO, I need to insert 2000 rows into tblA by a single INSERT statement (not 2000 statements).
I am using ASP.Net 4.0/Visual Studio 2010. However, I think it would be the same if it was ASP.Net/VB.Net 3.5. I am inserting three form filed values into a database table. I have placed a LoginName Control on the page and the login name is properly displaying. I am using forms Authentication and it is set up properly in the web config file. I simply want to insert the logged in username value into the database table so I can track who created the records. I am happy to be able to insert the UnserName or the UserID value. I assume both of the values are derived out of the aspnet_Users table. Being able to insert either one would be fine but I believe UserID would be better because it will always be unique.
I'm trying to insert userid that is a System.Guid into an additional table into the same userid field that is uniqueidentifier. It seems as it cannot insert the System.Guid type there wether I'm passing it directly as the System.Guid or as a String then converting.
<System.ComponentModel.DataObjectMethodAttribute _ (System.ComponentModel.DataObjectMethodType.Insert, True)> _ Public Function InsertUserInterests( _ ByVal strUserId As String, ByVal strCode As String) _ As Boolean Dim userInter As New DS1.tblUserInterestsDataTable Dim userInterRow As DS1.tblUserInterestsRow = userInter.NewtblUserInterestsRow Dim ug As System.Guid = New Guid(strUserId) userInterRow.UserId = ug ' This didn't go through I beleive userInterRow.InterestCode = strCode userInter.AddtblUserInterestsRow(userInterRow) Dim rowsAffected As Integer = Adapter.Update(userInter) Return rowsAffected = 1 End Function
I merged my website tables with ASPNET.db tables using aspregedit.exe. Problem is the user id in aspnetdb user table differs from userid in website table in datatype. One is Uniqueidentifier and the other int. I tried changing the datatypes accordingly, but unsuccessfully. Do I have no option than to re create all my website tables to match the data type in aspnet.db database?
UserId in custom website table is int. UserId in aspnetdb is uniqueidetifier. UserId in custom website database is the primary key and FK in more than one tables, so thats extensively used in the custom database.
I am trying to use a second (custom) table to extend my users profile info. This table is in the same database as the 'aspnet_Users' table but has a different name. I create a FK relationship between the 'aspnet_Users' table and my custom table. Here is my web.config code:
I have the table "MyProfileTable_Employees" poplulated with data the 'userid' matches to the aspnet_Users table. In my web application (vb), when I type in Profile.MyProfileInfo, there are no custom fields. Actually, when I type profile., there are no profile related entries. What am I missing here? Am I miss-interpting what a custom profile provider is?
I've recently used the CreateUserWizard to add firstname, middlename and lastname to my aspnet_Profile table. I was wondering how I would go about placing these values in a dropdownlist (ddlEmployees) so that I may wind up with a list displaying these values concatenated, eg. Mary Anne Brant, Joseph Ezra Shultz etc. That's the firstname, middlename and lastname from the profiles table.
So I have been trying to pull the userid of whoever is currently logged in and match it to another table that it is a fk in. I have some code that should work but I get an error that says specified cast is not valid in line 10.
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 sure this has been answered many times already, but I still can't seem to find exactly how to search for this issue, so apologies in advance.
Anyway, I have a VB script for entering a row of data into a table by a web user. When this row of data is entered, I wish to take some of the values from the columns of the "primary" table, and have that data automatically create a new row of data in a "secondary" table. I think I'm part of the way there, here is my script:
[code]...
"ProductsByMfr" is the "primary" table - the table that the user adds data into when the button click event is fired.
"DealerPricing" is a "secondary" table that I wish to have some of the data from the newly-entered row in ProductsByMfr copied into. Am I even close here?
When I create the user I am also pulling the UserID as I need it to enter this into a secondary table. However, the number that seems to come back is different then what ends up getting stored in the membership table ? can someone tell me why that is and what I might be doing wrong ? what i have noticed is that it truncates the first 3 characters when it is returned back?