title: Microsoft Membership Provider Vs Custom Provider Vs Complete Custom Login System
body: <p>I am currently converting a <strong>very</strong> old, but working classic ASP site to ASP.Net.</p>
  
  <p>It has a completely custom written user management system. Whilst it works fine, it really needs a refresh as I want it to be more flexible for some future projects in the works.</p>
  
  <p>When I asked someone about this, they said "You need to use the Microsoft Provider" and gave a lecture on how Microsoft release all these things for free and how good they are and should be re used as much as possible.</p>
  
  <p>I have done quite a bit of research on it (mainly looking at the videos on <a href="http://asp.net/learn" rel="noreferrer">http://asp.net/learn</a> ) and am very impressed by some of the features as there appears to be drag and drop components for items that would take me ages to write.</p>
  
  <p>However, the current membership database is complicated to explain, it is a completely custom written database that has many internal relations... It is not really "compatible" with the default Microsoft Provider.</p>
  
  <p>I have taken a look at <a href="http://www.asp.net/learn/videos/video-189.aspx" rel="noreferrer">How Do I: Create a Custom Membership Provider?</a>, but I feel a little out of my comfort zone and worried it will either be slow, introduce a security hole or simply won't work.</p>
  
  <p>At the end of the day, the Microsoft Membership Provider should work for me - the only customisations I really need is the login to use the username/password field in my database and the create user script which has a lot of custom code to several third party systems (needing to provision services etc.).</p>
  
  <p>I was just wondering, what would you do if faced with a similar situation?</p>
  
  <ol>
  <li><p>Use the Microsoft Membership Provider and somehow get it to work for you (although I would like suggestions)</p></li>
  <li><p>Use the Microsoft Membership Provider but use custom provider that is customised around your code.</p></li>
  <li><p>Use your own completely customised solution?</p></li>
  </ol>