示例#1
0
        /// <summary>
        /// Удаляет закешированное описание пользователя с заданным наименованием
        /// </summary>
        /// <param name="sUserName"></param>
        public void FlushUser(string sUserName)
        {
            XUser user = (XUser)m_AuthenticatedUsers[sUserName];

            if (user != null)
            {
                user.SetFlushed(true);
            }
        }
示例#2
0
        /// <summary>
        /// Возвращает описание пользователя по его наименованию
        /// </summary>
        /// <param name="sUserName">Наименование пользователя приложения</param>
        /// <remarks>
        /// Если описание было сброшено (Flush), то оно будет переполучено от SecurityProvider'a
        /// </remarks>
        /// <returns></returns>
        public XUser GetXUser(string sUserName)
        {
            XUser user = (XUser)m_AuthenticatedUsers[sUserName];

            if (user == null)
            {
                user = m_SecurityProvider.CreateUser(sUserName);
                Debug.Assert(user != null);
                if (user == null)
                {
                    throw new XSecurityProviderErrorImplementationException("SecurityProvider.CreateUser вернул null!");
                }
                m_AuthenticatedUsers[sUserName] = user;
            }
            else if (user.IsFlushed)
            {
                m_SecurityProvider.UpdateUser(user);
                user.SetFlushed(false);
            }
            return(user);
        }