コード例 #1
0
ファイル: UserManager.cs プロジェクト: priaonehaha/HnD
        /// <summary>
        /// Registers a new user, using the properties of this class.
        /// </summary>
        /// <param name="nickName">Name of the nick.</param>
        /// <param name="dateOfBirth">The date of birth.</param>
        /// <param name="emailAddress">The email address.</param>
        /// <param name="emailAddressIsPublic">flag to signal if the emailaddress is visible for everyone or not</param>
        /// <param name="iconURL">The icon URL.</param>
        /// <param name="ipNumber">The ip number.</param>
        /// <param name="location">The location.</param>
        /// <param name="occupation">The occupation.</param>
        /// <param name="signature">The signature.</param>
        /// <param name="website">The website.</param>
        /// <param name="emailTemplatePath">The email template path.</param>
        /// <param name="emailData">The email data.</param>
        /// <param name="autoSubscribeThreads">Default value when user creates new threads.</param>
        /// <param name="defaultMessagesPerPage">Messages per page to display</param>
        /// <returns>
        /// UserID of new user or 0 if registration failed.
        /// </returns>
        public static int RegisterNewUser(string nickName, DateTime?dateOfBirth, string emailAddress, bool emailAddressIsPublic, string iconURL,
                                          string ipNumber, string location, string occupation, string signature, string website, string emailTemplatePath, Dictionary <string, string> emailData, ParserData parserData,
                                          bool autoSubscribeThreads, short defaultMessagesPerPage)
        {
            UserEntity newUser = new UserEntity();

            // initialize objects
            newUser.AmountOfPostings     = 0;
            newUser.DateOfBirth          = dateOfBirth;
            newUser.EmailAddress         = emailAddress;
            newUser.EmailAddressIsPublic = emailAddressIsPublic;
            newUser.IPNumber             = ipNumber;
            newUser.IconURL    = iconURL;
            newUser.IsBanned   = false;
            newUser.JoinDate   = DateTime.Now;
            newUser.Location   = location;
            newUser.NickName   = nickName;
            newUser.Occupation = occupation;
            newUser.Signature  = signature;
            newUser.Website    = website;
            string password = HnDGeneralUtils.GenerateRandomPassword();

            newUser.Password = HnDGeneralUtils.CreateMD5HashedBase64String(password);

            //Preferences
            newUser.AutoSubscribeToThread          = autoSubscribeThreads;
            newUser.DefaultNumberOfMessagesPerPage = defaultMessagesPerPage;

            if (!string.IsNullOrEmpty(signature))
            {
                newUser.SignatureAsHTML = TextParser.TransformSignatureUBBStringToHTML(signature, parserData);
            }
            else
            {
                newUser.SignatureAsHTML = "";
            }
            //Fetch the SystemDataEntity to use the "DefaultUserTitleNewUser" as the user title & the "DefaultRoleNewUser"
            // as the roleID of the newly created RoleUserEntity.
            SystemDataEntity systemData = SystemGuiHelper.GetSystemSettings();

            newUser.UserTitleID = systemData.DefaultUserTitleNewUser;

            RoleUserEntity roleUser = new RoleUserEntity();

            roleUser.RoleID = systemData.DefaultRoleNewUser;
            roleUser.User   = newUser;

            // first encode fields which could lead to cross-site-scripting attacks
            EncodeUserTextFields(newUser);

            // now save the new user entity and the new RoleUser entity recursively in one go. This will create a transaction for us
            // under the hood so we don't have to do that ourselves.
            if (newUser.Save(true))
            {
                // all ok, Email the password
                bool result = HnDGeneralUtils.EmailPassword(password, emailAddress, emailTemplatePath, emailData);
            }

            return(newUser.UserID);
        }
コード例 #2
0
        public MembershipUser CreateUser(UserEntity userEntity)
        {
            MembershipUser membershipUser = GetUser(userEntity.Login, false);

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

            userEntity.Password = Crypto.HashPassword(userEntity.Password);
            UserService.CreateUser(userEntity);
            var user     = UserService.GetUserByLogin(userEntity.Login);
            var userRole = new RoleUserEntity
            {
                UserId = user.Id
            };

            RoleEntity role = RoleService.GetAllRoleEntities().FirstOrDefault(r => r.Name == "simple user");

            if (role != null)
            {
                userRole.RoleId = role.Id;
            }

            RoleUserService.CreateRoleUser(userRole);
            membershipUser = GetUser(userEntity.Login, false);
            return(membershipUser);
        }
コード例 #3
0
        /// <summary>
        /// 插入数据
        /// </summary>
        /// <param name="role">数据实体</param>
        public static void Insert(RoleUserEntity role)
        {
            var cmd = new DataCommand("RoleUser.Insert");

            cmd.SetParameter(role);
            cmd.ExecuteNonQuery();
        }
コード例 #4
0
        /// <summary>
        /// 根据角色ID删除关联关系
        /// </summary>
        /// <param name="role">数据实体</param>
        public static void DeleteByRoleId(RoleUserEntity role)
        {
            var cmd = new DataCommand("RoleUser.Delete");

            cmd.QuerySetCondition("role_id", ConditionOperation.Equal, DbType.Int32, role.RoleId);
            cmd.CommandText = cmd.CommandText.Replace("#STRWHERE#", cmd.QueryConditionString);
            cmd.ExecuteNonQuery();
        }
コード例 #5
0
ファイル: EntityFactories.cs プロジェクト: priaonehaha/HnD
        /// <summary>Creates a new, empty RoleUserEntity object.</summary>
        /// <returns>A new, empty RoleUserEntity object.</returns>
        public override IEntity Create()
        {
            IEntity toReturn = new RoleUserEntity();

            // __LLBLGENPRO_USER_CODE_REGION_START CreateNewRoleUser
            // __LLBLGENPRO_USER_CODE_REGION_END
            return(toReturn);
        }
コード例 #6
0
        /// <summary>
        /// 将指定的用户添加到角色
        /// </summary>
        /// <param name="roleUser"></param>
        public void AddUserToRole(RoleUserEntity roleUser)
        {
            if (roleUser == null)
            {
                Debug.Assert(false, "roleUser 为空");
                return;
            }

            _dataBase.Insert(roleUser);
        }
コード例 #7
0
ファイル: RoleService.cs プロジェクト: yinguopeng/SlickSafe
        /// <summary>
        /// delete user from role
        /// </summary>
        /// <param name="entity"></param>
        public void DeleteRoleUser(RoleUserEntity entity)
        {
            var param = new DynamicParameters();
            param.Add("@userID", entity.UserID);
            param.Add("@roleID", entity.RoleID);

            using (var conn = SessionFactory.CreateConnection())
            {
                QuickRepository.ExecuteProc(conn, "pr_sys_RoleUserDelete", param);
            }
        }
コード例 #8
0
 /// <summary>
 /// 插入数据
 /// </summary>
 /// <param name="role">数据实体</param>
 public void Insert(RoleUserEntity role)
 {
     if (role.UserId == 0)
     {
         throw new BusinessException("用户Id不允许为空");
     }
     if (role.RoleId == 0)
     {
         throw new BusinessException("角色Id不允许为空");
     }
     RoleUserDA.Insert(role);
 }
コード例 #9
0
ファイル: RoleUserMappers.cs プロジェクト: KarinaBabak/Blog
 public static DalRoleUser ToDalRoleUser(this RoleUserEntity roleEntity)
 {
     if (roleEntity != null)
     {
         return(new DalRoleUser()
         {
             Id = roleEntity.Id,
             UserId = roleEntity.UserId,
             RoleId = roleEntity.RoleId
         });
     }
     return(null);
 }
コード例 #10
0
        /// <summary>
        /// 将指定的用户从角色移除
        /// </summary>
        /// <param name="roleUser"></param>
        public void RemoveUserFromRole(RoleUserEntity roleUser)
        {
            if (roleUser == null)
            {
                Debug.Assert(false, "roleUser 为空");
                return;
            }

            List <CommandParameter> parameterList = new List <CommandParameter>();

            parameterList.Add(new CommandParameter("@role", roleUser.Role));
            parameterList.Add(new CommandParameter("@user", roleUser.User));

            _dataBase.ExecuteNonQuery(
                "DELETE FROM [RoleUser] WHERE [Role] = @role AND [User] = @user", parameterList);
        }
コード例 #11
0
        public ResponseResult DeleteRoleUser(RoleUserEntity entity)
        {
            var result = ResponseResult.Default();

            try
            {
                var roleService = new RoleService();
                roleService.DeleteRoleUser(entity);

                result = ResponseResult.Success();
            }
            catch (System.Exception ex)
            {
                result = ResponseResult.Error(string.Format("删除角色下用户失败!{0}", ex.Message));
            }
            return(result);
        }
コード例 #12
0
ファイル: SecurityManager.cs プロジェクト: priaonehaha/HnD
        /// <summary>
        /// Adds all users which ID's are stored in UsersToAdd, to the role with ID RoleID.
        /// </summary>
        /// <param name="userIDsToAdd">List with UserIDs of the users to add</param>
        /// <param name="roleID">ID of role the users will be added to</param>
        /// <returns>true if succeeded, false otherwise</returns>
        public static bool AddUsersToRole(List <int> userIDsToAdd, int roleID)
        {
            if (userIDsToAdd.Count <= 0)
            {
                return(true);
            }

            RoleUserCollection roleUsers = new RoleUserCollection();

            // for each userid in the list, add a new entity to the collection
            foreach (int userID in userIDsToAdd)
            {
                RoleUserEntity newRoleUser = new RoleUserEntity();
                newRoleUser.UserID = userID;
                newRoleUser.RoleID = roleID;
                roleUsers.Add(newRoleUser);
            }

            // save the new role-user combinations
            return(roleUsers.SaveMulti() > 0);
        }
コード例 #13
0
 /// <summary>
 /// add user into role
 /// </summary>
 /// <param name="entity"></param>
 public void AddRoleUser(RoleUserEntity entity)
 {
     QuickRepository.Insert <RoleUserEntity>(entity);
 }
コード例 #14
0
ファイル: RoleUserService.cs プロジェクト: KarinaBabak/Blog
 public void UpdateRoleUser(RoleUserEntity roleUser)
 {
     roleRepository.Update(roleUser.ToDalRoleUser());
     uow.Commit();
 }
コード例 #15
0
 /// <summary>
 /// 根据角色ID删除关联关系
 /// </summary>
 /// <param name="role">数据实体</param>
 public void DeleteByRoleId(RoleUserEntity role)
 {
     RoleUserDA.DeleteByRoleId(role);
 }