Ejemplo n.º 1
0
        /// <summary>
        /// Returns the principal cached against the user or creates and returns a new principal if the
        /// user has not got a cached principal.
        /// </summary>
        /// <param name="cachedUser"></param>
        /// <param name="cachedUserTag"></param>
        /// <returns></returns>
        public IPrincipal CreatePrincipal(CachedUser cachedUser, CachedUserTag cachedUserTag)
        {
            var result = cachedUserTag.Principal;

            if (result == null)
            {
                var roles = new List <string>();
                roles.Add(Roles.User);
                if (cachedUser.IsAdministrator)
                {
                    roles.Add(Roles.Admin);
                }

                result = new GenericPrincipal(
                    new GenericIdentity(cachedUser.User.LoginName, "basic"),
                    roles.ToArray()
                    );

                cachedUserTag.Principal = result;
            }

            return(result);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Returns true if the username and password are valid.
 /// </summary>
 /// <param name="cachedUser"></param>
 /// <param name="cachedUserTag"></param>
 /// <param name="password"></param>
 /// <returns></returns>
 public bool IsPasswordValid(CachedUser cachedUser, CachedUserTag cachedUserTag, string password)
 {
     return(cachedUser != null && cachedUserTag.CheckPassword(_UserManager, cachedUser.User, password));
 }