15 Dec 2016
This post shows you how to get the current logged in Umbraco user and restrict content on the front end of the site.
@inherits UmbracoViewPage @using Umbraco.Core.Composing @using Umbraco.Web.Security @using Umbraco.Core.Models.Membership @{ Layout = null; bool isLoggedInUser = false; IUser currentUser = null; var userTicket = new System.Web.HttpContextWrapper(System.Web.HttpContext.Current).GetUmbracoAuthTicket(); if (userTicket != null) { isLoggedInUser = true; currentUser = Current.Services.UserService.GetByUsername(userTicket.Identity.Name); } } @if (isLoggedInUser) { <p>Logged in as @currentUser.Name</p> } else { <p>You must be logged in to umbraco to view this page</p> }
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage @using Umbraco.Core @using Umbraco.Core.Security @using Umbraco.Core.Models.Membership @{ Layout = null; bool isLoggedInUser = false; IUser currentUser = null; var userTicket = new System.Web.HttpContextWrapper(System.Web.HttpContext.Current).GetUmbracoAuthTicket(); if (userTicket != null) { isLoggedInUser = true; currentUser = ApplicationContext.Services.UserService.GetByUsername(userTicket.Name); } } @if (isLoggedInUser) { <p>Logged in as @currentUser.Name</p> } else { <p>You must be logged in to umbraco to view this page</p> }
Basically, if it can get the user authentication ticket, it considers you logged in.
Then it just sets the bool value to say you are logged in and gets the user, using the user service, so you can access the properties of the user, if you want.
If you found this useful, please share it with others and bookmark it for later use.