What you are looking for is @Html.RenderAction() with an action that does a
return PartialView();
In the action, you can test for the user/role and determine what to populate the model with or even which view to return. Create corresponding partial views that render the content as appropriate, if the user is logged in.
I would also suggest reading through
the ASP.NET MVC best practices[
^] that Kazi Manzur has posted, including the bits on authentication filters.
Cheers.