You can use userinfo class in apex to obtain the information related to logged in user. https://www.salesforce.com/us/developer/docs/apexcode/Content/apex_methods_system_userinfo.htm You can get Id using userinfo.getUserId() and if userinfo class is not able to provide info use query to query those fields . On VF you will need to use <apex:outputText value="{!$User.Id}"> You are using outputfield and hence you are not able to save the code Edit:: A sample getter setter User object type variable will be handy public class MailExtension{ public user currentuser{get;set;} public MailExtension(ApexPages.StandardController cont){ opp =(Opportunity) cont.getRecord(); currentuser=new User(); currentuser=[Select Id,Name,Email from User where Id=:userinfo.getuserId()]; } } A sample VF tag or mark up will be as follows <apex:outputfield value="{!currentuser.Id}"/> <apex:outputfield value="{!currentuser.Email}"/>