I had done something like the below.
Add this part into the MasterPage that has the main menu control
Make sure that in the start there is only one menu tab which is visible to all.
then dynamically add the menu nodes and the page that it relates to
Public Sub menustate(mstate As String)
If mstate = "Manager" Then
Dim newme As New MenuItem
newme.Text = "Admin"
newme.Value = "Admin"
newme.NavigateUrl = "~/adminpage.aspx"
NavigationMenu.Items.AddAt(1, newme)
NavigationMenu.Items.Item(1).Selectable = True
Else
End If
End Sub
In the child page after authentication,
If Session("userrole") = "Admin" Then
Master.menustate("Manager")
Else
Master.menustate("Agent")
End If