What you need to do is detect the role of the logged in user in the code behind, probably in the page_load event (though there are other events you could handle).
In that page_load event handler, you can set the menu items programmaticaly there after you detect what role the logged in person is a member of. By programmiticaly setting the menu items, you will insure only the correct menu items are available.
Here's an example of how to add an item to a Menu control:
mnPrimaryNav.Items(0).ChildItems.Add(New MenuItem("Display Text", "", "", "http://pagetolinkto.aspx/")