コード例 #1
0
        /// <summary>
        /// Static method to Create a user token using the supplied username and password. A valid token will only be provided if the username and password are valid and the account is not disabled nor expired.
        /// </summary>
        /// <param name="userGuid"></param>
        /// <returns></returns>
        internal static UserIdentityToken CreateTokenNoSecCheck(Guid userGuid)         //TODO: do not use session. Token will be stored in Context.User
        {
            UserEntity l_user = new UserEntity();

            l_user.GUID = userGuid;

            // Get the user
            DataAccessAdapter da = new DataAccessAdapter();
            bool didFetch        = da.FetchEntityUsingUniqueConstraint(l_user, l_user.ConstructFilterForUCGUID());

            if (!didFetch || l_user.IsNew)
            {
                return(null);                //We dont have a valid user with that username;
            }
            //UserManager.SetLastLogin(l_user);

            UserIdentityToken l_usertoken = new UserIdentityToken(l_user);

            return(l_usertoken);
        }
コード例 #2
0
        public static UserIdentityToken CreateAnonymousToken(Guid anonGuid)
        {
            UserEntity l_user = new UserEntity();

            l_user.GUID = anonGuid;

            // Get the user
            DataAccessAdapter da = new DataAccessAdapter();
            bool didFetch        = da.FetchEntityUsingUniqueConstraint(l_user, l_user.ConstructFilterForUCGUID());

            if (!didFetch || l_user.IsNew)
            {
                return(null);                //We dont have a valid user with that guid;
            }
            UserIdentityToken l_usertoken = new UserIdentityToken(l_user);

            l_usertoken._isAnonymous = true;

            return(l_usertoken);
        }
コード例 #3
0
        /// <summary>
        /// Static method to Create a user token using the supplied username and password. A valid token will only be provided if the username and password are valid and the account is not disabled nor expired.
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public static UserIdentityToken CreateToken(string username, string password, int?siteUID, bool addToSession)          //TODO: do not use session. Token will be stored in Context.User
        {
            UserEntity l_user = new UserEntity();

            l_user.UserNameLower = username.ToLower();
            l_user.SiteUID       = siteUID;

            // Get the user
            DataAccessAdapter da = new DataAccessAdapter();
            bool didFetch        = da.FetchEntityUsingUniqueConstraint(l_user, l_user.ConstructFilterForUCSiteUIDUserNameLower());

            if (!didFetch || l_user.IsNew)
            {
                return(null);                //We dont have a valid user with that username;
            }
            //Check password
            //TODO: Add hashing.
            if (l_user.Password != password)
            {
                return(null);
            }

            UserIdentityToken l_usertoken = new UserIdentityToken(l_user);

            if (addToSession)
            {
                //Set WasAdd4edToSession with internal property method
                SessionManager.AddUserToken(l_usertoken);
            }

            return(l_usertoken);

            //TODO: Add logging and auditing support
            //DONE*TODO: Add in effective entitytype perms and custom perms
            //TODO: Add in GroupList.
            //TODO: Need to change the UC's for users. Based on GUID, or Site/Username and be able to create tokens based on any of them.
            //TODO: Wee will need to add caching of some Sort. We cannot have it do round trips to database for every time a request is made.
        }
コード例 #4
0
 public BASEPrinciple(UserIdentityToken token)
 {
     _identity = token;
 }