There is no need to write custom controls for this scenario. Sitefinity offers very convenient login widgets, out of the box. Here's what you can do:
You can create a page with a Login widget on it (located in the Login tab of the page's widget), together with a Login Status control (in the same tab) which will show if you are logged in and will let you Log Out when you are. You can then add a hyperlink on that page that leads to another page, where you have put a Registration widget (located in the Users tab of Sitefinity's widgets). In the same tab, you also have the Profile widget, which is by default set to show to currently logged in user and also allows this user to change his profile type.
I hope that helps you, if you need any further customizations, please feel free to write back.