public ExampleSecureModule(IUserRepository userRepo)
        {
            this.RequiresAuthentication();

            this.Get["/api/examples/ambientContext"] = args =>
            {
                ICustomClaimsIdentity currentUser = AmbientContext.CurrentClaimsPrinciple.ClaimsIdentity;
                string guid = currentUser.GetAttribute(AmbientContext.UserPrincipalGuidAttributeKey).ToString();

                var user = userRepo.Get(guid);
                user.Password = null;

                return(JsonConvert.SerializeObject(user));
                //return 200;
            };

            this.Get["/api/examples/context"] = args =>
            {
                var    currentUser = this.Context.CurrentUser;
                string username    = currentUser.UserName;

                var user = userRepo.GetByUsername(username);
                user.Password = null;

                return(JsonConvert.SerializeObject(user));
            };
        }
 /// <summary>
 /// Initializes a new instance of the Acatar.Shared.Models.CustomClaimsPrincipal class
 /// from a user identity and an array of claims to which the user represented by that identity
 /// may claim
 /// </summary>
 /// <param name="identity">A basic implementation of System.Security.Principal.IIdentity that represents any user</param>
 public CustomClaimsPrincipal(ICustomClaimsIdentity identity)
 {
     Identity = identity;
 }
 /// <summary>
 /// Initializes a new instance of the Acatar.Shared.Models.CustomClaimsPrincipal class 
 /// from a user identity and an array of claims to which the user represented by that identity 
 /// may claim
 /// </summary>
 /// <param name="identity">A basic implementation of System.Security.Principal.IIdentity that represents any user</param>        
 public CustomClaimsPrincipal(ICustomClaimsIdentity identity)
 {
     Identity = identity;
 }