title: Storing ASP.net membership and openid users in a new user table
body: <p>In order to store user information from people who login with OpenId I plan on creating a user table.</p>
  
  <p>My problem is that this new user table will contain new fields that I want the asp.net membership users to be able to fill in too (profile data).</p>
  
  <p>My plan is when a user wants a username and password, they register and the information is inserted into asp.net_Membership and then duplicate their guid,username,createDate into the new user table so that in the code I can just lookup data in the user table and it will not matter if they registered with OpenId or asp.net membership.</p>
  
  <p>I would like to override Membership.GetUser so that it looks up my new user table and I would add in the web.config profile properties.</p>
  
  <p>Would it be better performance to instead of using Membership.GetUser to use (where I would call the new User table):</p>
  
  <pre><code>User user = _repository.GetUser(userId);
  </code></pre>
  
  <p>My application is already working and I would need to add references to some pages to support _repository so am just thinking of performance.</p>
  
  <p>Is my plan to create a new user table ok? I don't like the idea of the duplication but if in the future I want usernames to change, it's no hassle to update the new user table and the asp.net_Membership table.</p>
  
  <p><strong>Should I override GetUser and add profile properties in the web.config or call my own User object?</strong></p>
  
  <p><strong>Is creating a new user table and duplicating core data the best way to go?</strong></p>