Пример #1
0
        /// <summary>
        /// 在用户数据库中创建一个新用户。
        /// </summary>
        /// <param name="username">新用户的用户名。</param>
        /// <param name="group">用户具有的权限集。</param>
        /// <returns>新创建的用户的句柄。</returns>
        /// <exception cref="ArgumentNullException"/>
        /// <exception cref="UsernameAlreadyExistsException"/>
        public UserHandle Create(string username, UserGroup group)
        {
            if (username == null)
            {
                throw new ArgumentNullException(nameof(username));
            }
            if (IsUserExist(username))
            {
                throw new UsernameAlreadyExistsException(username);
            }

            // 为新用户分配个人信息文件。
            string            profileFile = GetNewProfileName(username);
            UserProfileEntity entity      = new UserProfileEntity()
            {
                Username        = username,
                ProfileFileName = profileFile,
                UserGroup       = (NativeUserGroup)group,
            };

            // 将实体数据对象添加到数据库中。
            m_context.AddUserProfileEntity(entity);

            return(new UserHandle(username));
        }