A quick and simple way to hide the ribbon bar from anonymous users is to add the snippet of code to your Master Page or Page Layout. When I first discovered this, my response was…”oh….DUH!!”
<asp:LoginView ID="LoginView1" runat="server">
<AnonymousTemplate>
<style type="text/css">
#s4-ribbonrow { display: none; }
</style>
</AnonymousTemplate>
</asp:LoginView>
The idea is simple. Use the ASP.NET LoginView control to add a conditional CSS block that hides the entire blue ribbon row.

