SharePoint was originally a platform for internal work. It was logical to make it easy for users to login to the site at any time so that they could take full advantage of the site's capabilities. With SharePoint 2007 being used for public facing websites, this login control becomes undesirable for end users, while still necessary for those who maintain the site. So how do you hide this login for the general public without losing convenience for your content authors? If you are using an authoring/production environment this can be easily achieved with some simple CSS.
To prepare for this you will need to have your login controls contained within a div cell, as shown in my article about implementing the SharePoint console in a branded site. This div cell will allow you to easily control the visibility of the login panel with CSS. If your login controls are located inside a div with an id of "login" then you will want to create CSS file called loginhide.css that contains the following code:
#login {
display: none;
}
Include this file in your master page, but don't add the CSS file to your authoring server. Instead use SharePoint Designer to upload it only to the production farm. Now the master page will look for this file on both authoring and production but only find it on production. This way it won't be hidden for content authors and your content deployment will have no effect on this file.
Note that you will need to use a direct URL ( http://yourserver/_layouts/settings.aspx ) to any of the site settings pages on the production farm now that your login page is hidden, but as access to the production farm should be tightly restricted to IT users, this shouldn't be a bit issue.