You can show the pages in different ways by testing what kind of user it is
In my _Layout.cshtml i have this:
@if (Request.IsAuthenticated && HttpContext.Current.User.IsInRole("Interviewer"))
{
<script type="text/javascript">
$("#logindisplay").show();
</script>
<li>@Html.ActionLink("Forside", "Index", "Home")</li>
<li>@Html.ActionLink("Spørgeskema", "Index", "Survey2")</li>
<li>@Html.ActionLink("Brugere", "Index", "UserAdministration")</li>
<li>@Html.ActionLink("Statistik", "Index", "Statistik")</li>
<li>@Html.ActionLink("Vagtplan", "Vagtplan", "Statistik")</li>
}
@if (HttpContext.Current.User.IsInRole("Respondent"))
{
<li>@Html.ActionLink("Gammelt spørgeskema", "Index")</li>
}
And so on.
You could create different DisplayTemplates for each kind of role and display these based upon which role the user has.
To manually assign Roles to different users, use ASP.NET Configuration

From there, you can create your roles and manage users.
You do not want to do this in the long run, if you get a lot of users on your site. Instead, when they create an account, you would want to assign their role automatically.
You can do this in your AccountController, for instance like this:
if (createStatus == MembershipCreateStatus.Success)
{
Roles.AddUserToRole(model.UserName, "Respondent");
} ....
Your model could have the Role property instead of hardcoding it.