certo, siamo sempre aperti 
comunque per il ruolo basta assegnarlo al GenericPrincipal, che è una classe che memorizza tutte le caratteristiche dell'utente. Io FACEVO cosi'.
Nel file Global.asax.vb:
codice:
Protected Sub Application_AuthenticateRequest(sender As Object, e As EventArgs)
If Context.Request.IsAuthenticated Then
Dim ruoliDB As String = String.Empty
Dim myDs As New DataSet()
' Cerca l'utente collegato nel DB per recuperare il ruolo
' "NomeUtente" lo recuperi dal Context
myDs = RicercaUtenza(NomeUtente)
' "ruolo" è la colonna della tabella
ruoliDB = myDs.Tables(0).Rows(0)("ruolo").ToString().Trim()
Dim ruoli As String() = ruoliDB.Split(","C)
' Assegna il ruolo letto all'utente corrente
System.Web.HttpContext.Current.User = New GenericPrincipal(System.Web.HttpContext.Current.User.Identity, ruoli)
End If
End Sub
e poi in tutte le pagine puoi controllare in questo modo il ruolo:
codice:
If User.IsInRole("AMMINISTRATORE") Then
' fai vedere il menu dell'amministratore
End If
credo che funzioni ancora, senza usare il rolemanager. Prova.