SenseNet.ContentRepository.User.Save C# (CSharp) Метод

Save() публичный Метод

public Save ( NodeSaveSettings settings ) : void
settings SenseNet.ContentRepository.Storage.NodeSaveSettings
Результат void
        public override void Save(NodeSaveSettings settings)
        {
            // Check uniqueness first
            CheckUniqueUser();

            Domain = GenerateDomain();

            var originalId = this.Id;

            // save current password to the list of old passwords
            this.SaveCurrentPassword();

            base.Save(settings);

            // AD Sync
            SynchUser(originalId);

            // set creator for performant self permission setting
            // creator of the user will always be the user itself. this way setting permissions to the creators group on /Root/IMS will be adequate for user permissions
            // if you need the original creator, use the auditlog
            if (originalId == 0)
            {
                this.CreatedBy = this;
                this.NodeCreatedBy = this;
                base.SaveSameVersion();
            }
            
            // create profiles
            if (originalId == 0 && Repository.UserProfilesEnabled)
                CreateProfile();
        }

Usage Example

Пример #1
0
        public static User RegisterUser(string fullUserName)
        {
            if (string.IsNullOrEmpty(fullUserName))
            {
                return(null);
            }

            var slashIndex = fullUserName.IndexOf('\\');
            var domain     = fullUserName.Substring(0, slashIndex);
            var username   = fullUserName.Substring(slashIndex + 1);

            var user = User.Load(domain, username);

            if (user != null)
            {
                return(user);
            }

            try
            {
                AccessProvider.Current.SetCurrentUser(User.Administrator);

                var dom = Node.Load <Domain>(RepositoryPath.Combine(RepositoryStructure.ImsFolderPath, domain));

                if (dom == null)
                {
                    // create domain
                    dom = new Domain(Repository.ImsFolder)
                    {
                        Name = domain
                    };
                    dom.Save();
                }

                // create user
                user = new User(dom)
                {
                    Name = username, Enabled = true, FullName = username
                };
                user.Save();

                Group.Administrators.AddMember(user);
            }
            finally
            {
                if (user != null)
                {
                    AccessProvider.Current.SetCurrentUser(user);
                }
            }

            return(user);
        }
All Usage Examples Of SenseNet.ContentRepository.User::Save