Я предполагаю, что вы используете встроенный ролевой менеджер и членство.
Если вы используете элемент управления меню, я полагаю, что меню будет учитывать права доступа к местоположению, если целевые ссылки настроены надлежащим образом. Поэтому, если вы добавите в свой web.config что-то вроде этого (не проверили точную разметку, но надеюсь, что вы поняли):
<location path="admin/admin.aspx">
<system.web>
<authorization>
<allow roles="Admin" />
</authorization>
</system.web>
</location>
<location path="hr/hr.aspx">
<system.web>
<authorization>
<allow roles="HR" />
</authorization>
</system.web>
</location>
Если вы создаете пользовательское меню, просто
<% if (HttpContext.Current.User.IsInRole("Admin"){ %> <li>Admin Menu</li> <% } %>
вокруг ваших пунктов меню должны сделать трюк