Ok I will break this down for you. First you need to provide your users a way to login to your application, these controls will help you accomplish that: http://msdn2.microsoft.com/en-us/library/ms178329.aspx
These controls support the addition of roles, however, it seems an unecessary step since only admins should ever access this site. So what I would do is alter my SQL query to only validate people in the admin role, something like:
From users p
INNER JOIN roles r ON r.person_fk = p.pk
WHERE p.username = @userName and p.password = @password AND r.RoleID = 'Admin'
(This is only an example meant for illustration, but you should get the idea of what I am doing)
That should handle your Login.
Now as far as the Contact List is concerned, I am not sure the best way to do this since you have not said how many Contacts there are.
In the past when I have done this my clients have always had very specific requirements for filtering their Contacts lists, for example they would never randomly select 2 or 3 people that they wanted to mail things to it was always that they were mailing something to a specific group of people, for example, people that paticipated in XYZ event.
So let me know if your system has the same type of flexibility or if it is completely possible for someone to select 2 or 3 people at random to create labels for.
Lastly, about directly printing things to labels, this could be trial and error. I have only ever sent data to a label printer a handful of times and it was through a windows app where I had a very fine control of how the printdoc was sent to the printer. This should be the least of your worries at this point.
Read this if you want to know how to get a correct reply for your question:
.: Wrox Technical Editor :.
Wrox Books 24 x 7