I recently read Scott Mitchell's article series "Examining ASP.NET's Membership, Roles, and Profile". In Part [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?
Now this might just be straightforward, but I can't seem to figure it out..
I have set up the Custom Membership provider, and gave it the proper connection stuff. What I know is that it connects to the correct database, but I know for sure that it doesn't look at the correct table.
How would I set it up to use a specific table? As the table already has users in them.
The table name is: members_info.
the column names are: member___id(key), member_name, member__pwd, member_perm
member___id => Being the Key and the account name to login with member_name => Being the users Name or Nickname member__pwd => 10 chars long (for now) member_perm => holds 1 of the following values: 0) User 1)Admin 2)Banned
now I know that the later one is to be setup by the Role Provider, and I'm sure once I know how to do the membership one that one is similar in some way.
So my question is, how do I point the Custom Membership Provider to the table: members_info and to use member___id for username, members__pwd for password (and possibly get member_name out to say: Welcome {member_name}! when they login).
===
Added info. Members__uid is the key value as it increases on each new entry.
===
Since you can't tell it to use a specific table
How can I set it up so, that it works with the tool provided in visual studio? (Website > ASP.net Configuration).
As it now says 0 users, on the security tab. I want to be able to manage the users through here too.
I've read somewhere that ApplicationID is a unique id for a website (iis site path). But I'm still confused. When and why do I need this? I'm trying to implement asp.net membership for a website and I'll create some additional SQL tables (such as Companies, Services, etc) other than asp.net membership tables. So; do I need to include an ApplicationID column to these custom tables? Why?
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 am using the System.Web.ApplicationServices.AuthenticationService for Form Based Authentication.
The authenication is done by .LoginAsync based on the user roles got by .GetRolesForCurrentUserAsync.
How to query the database to get a list of all users in the system? I need the list to populate a combobox so the users can pick a contact within the system to connect to instead of simply typing the names and hoping for no typos.
I'm using Visual Studio 2008 with SQL Server Express databases in my .net 3.5 website
I have three tables I'd like to make entries to when the user completes a wizrd i've setup on a web form.
The First Step - The user enters basic information about their "Case". The table looks like so:
db_Cases - CaseId PK auto int, CustomerId, etc fields
The Second Step - The user enters information about the "Debtors" that are related to this "Case". Think of this as being products....The only difference is these records wont be used over and over again like a product would. The user may need to enter data about several "Debtors", just like if you needed to show several different products on an invoice. For example the user may need to enter information about a husband and wife. This means two entries in the "Debtors" table. The table looks like so:
db_Debtors - DebtorId PK auto int, etc fields
The Third Step - Here's my problem. This step needs to make entries into a third table called "CaseDetails". Again, this is just like if you were creating an invoice with several different products on it, where you would want to get a subtotal of each product's cost. The table looks like so:
db_CaseDetails - CaseDeatailId PK auto int, CaseId int, DebtorId, int
* When this table is later viewed, It will reflect all "Debtors" attached to the specific "Case" being viewed.
The first two steps aren't a problem, I pretty well have that handled in the wizard. BUT How do I create the entries in the "CaseDetails" table when the user finishes?
My idea right now is..... Considering the "Debtors" will be re-used but only on rare occations, I'm thinking I should just add the "CaseId" that was created in step one, to the "Debtors" table at the same time the "Debtor" is created. So the table would look like so.
I created a project using asp.net in visual studio 2008. In my login database table aspnet_users I noticed under the column UserName there is some usernames that I didn't create such as '668215da-b4d0-4e50-8c97-06586afc07b1' All my usernames are less than 8 characters that are generated by users. How and why was the username '668215da-b4d0-4e50-8c97-06586afc07b1' created? When I query the database table aspnet_users to approve a new user I am not interested in usernames such as '668215da-b4d0-4e50-8c97-06586afc07b1'. How do I avoid them in my query?c = squareroot(e/m)
I am wondering if the aspnet_Users table is always sorted (by UserName) even if I add new users which are alphabetically between two already existing users.
I've noticed that the method Membership.GetAllUsers() always seems to return a sorted collection of MembershipUsers.
Also when I look into SQL Server Management Studio and run a simple SQL query without ORDERBY clause...
SELECT [UserName] FROM [MyDb].[dbo].[aspnet_Users]
...I get always a sorted result list.
I'm still very unfamiliar with SQL Server but I expected that when I add a new row to a table it is (physically) appended to the end of the table. And when I run a select statement without ORDERBY the rows will be selected in the order they were initially inserted into the database (so without any specific sort order).
I am wrong I guess. But how does it really work? Is it perhaps something special with the aspnet_Users table?
I am happy that the MemberShipUserCollection returned by GetAllUsers() is sorted but is it always guaranteed?
Update
I've just noticed that the database contains a stored procedure called aspnet_Membership_GetAllUsers. This procedure actually contains an ORDER BY clause by UserName. So if this stored procedure is indeed always called when I use Membership.GetAllUsers() in my code (at least if I am using the SqlMembershipProvider) it explains why the collection returned by Membership.GetAllUsers() is sorted by UserName.
Remains the question: Is Membership.GetAllUsers() actually based on this stored procedure?
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 am using aspnetdb database and i am using createuserwizard control and i have found that i am able to create user account with same username. as far as i know i think usernames are stored uniquly but i can't figured it out why i am able to create user account with duplicate user names.
I have a .net user sign up page that adds the users to the aspNet_Users table but also adds the users to a seperate tblVendors table with additional data gathered at sign up.The question is... how do I add the users in the tblVenders table to the aspNet_UsersToRoles
table to put them in the vendors Role?I'm using a gridView to show all the users in the tblVendors table and when a checkbox in the gridView is checked the button1 click event will fire for code behind vb code.
I'm not real sure how to do this.I've tried several solutions to no avail. I actually get errors about converting strings to guid field because of the uniqueidentifier field in the aspnet tables.Any help would be greatly appreciated.
I'm using SqlMembershipProvider and SqlRoleProvider for user management.
Users are created by
Dim MCS As System.Web.Security.MembershipCreateStatus Dim NewUser As MembershipUser = Membership.CreateUser(TB_UserName.Text, TB_Pw.Text, TB_Email.Text, TB_SecQuestion.Text, TB_SecAnswer.Text, False, MCS) later, after email confirmation, I take the user into a specified role Dim myUser As System.Web.Security.MembershipUser = Nothing myUser = Membership.GetUser(New Guid(Request("RegID")))Catch If myUser IsNot Nothing Then myUser.Comment += " approved " Membership.UpdateUser(myUser) Roles.AddUserToRole(myUser.UserName, "role") End if
After this I have two entries with the same UserName in aspnet_Users table, but with different UserId's. One UserId is referenced in aspnet_Membership table and the other in the aspnet_UsersInRoles table.
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 an C# ASP application I am writing that needs to have the capability to import a generated excel or a comma delineated sheet each day. A clerk will have this job each morning so it doesn't need to be automated. My problem in trying to understand the solution to this is that the 1 sheet contains loan information, including customer information all in the same sheet. I would like to send certain columns to update information in the loan table and send other information to update the customer table. I need it to create relationships when new loans appear in the spreadsheet.
If I am going to use the asp.net membership and roles, the asp.net database includes an aspnet_Users table that has the userid and email address. If I have custom fields is it best practice to maintain a separate usert table and link on user id or to add fields to the aspnet_Users table?
I am using bulk insert concept to export the data from dat file to tables(Two tables). I am using the temporary table for to do the calculation and insertion to two tables. My problem is whenever I selecting the temp table data after the execution of bulk insertion , the order is changing .I need to get the order as it is in file order(csv,dat,txt).
I developed a site for a client a couple of years ago. It uses the the standard ASP.NET Membership, authentication, etc. I just added the profile section with (2) fields: CustID AgntID. Now whenever I load the page with any Profile code in it I receive this error: Violation of UNIQUE KEY constraint 'IX_aspnet_Users'. Cannot insert duplicate key in object 'dbo.aspnet_Users'. The INSERT statement conflicted with the FOREIGN KEY constraint "FK__aspnet_Pr__UserI__3CA9F2BB". The conflict occurred in database "broo001", table "dbo.aspnet_Users", column 'UserId'. The statement has been terminated. The statement has been terminated. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Violation of UNIQUE KEY constraint 'IX_aspnet_Users'. Cannot insert duplicate key in object 'dbo.aspnet_Users'. The INSERT statement conflicted with the FOREIGN KEY constraint "FK__aspnet_Pr__UserI__3CA9F2BB". The conflict occurred in database "broo001", table "dbo.aspnet_Users", column 'UserId'. The statement has been terminated. The statement has been terminated. Source Error:
I am trying to build a custom composite control, which allows me to add custom content to each child control. It's a similar concept to what you have with a GridView and TemplateColumn. The markup used to place the control on the page would end up being something like this:
[Code]....
I have the code below, which allows me to put that markup on the page without throwing any errors, and it renders all the correct HTML, except it doesn't render the contents of the ColumnTemplate. I have replaced the Render() code with a comment because it's quite long winded and doesn't add anything important here:
[Code]....
I have tried to follow examples on MSDN and other forums but I can't make this work. I think I'm missing the code to render the contents of the template, but I don't know how to hook that up.
I am getting Resultset from SQL server2005.It contains 4 tables.
Dataset ds=new Dataset();
ds=BLogiclayer1.TestMethod1(a,b,c,d);. This normal Dataset ds contains Resultset. ( I am working with RDLC reports. I added a Typed dataset to my project. I am using Typed Dataset as report dataset.) I want to add normal Dataset all the table values to Typed Dataset table as rows i. e. only one table in Typed dataset.I am trying like below.
//Typed Dataset name that I have added is salesdata.