コード例 #1
0
        /// <summary>
        /// 快速创建用户
        /// <remarks>
        /// email和username必须都唯一
        /// 需要返回userid
        /// 并提供正确的创建结果MembershipCreateStatus
        /// </remarks>
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <param name="email"></param>
        /// <param name="passwordQuestion"></param>
        /// <param name="passwordAnswer"></param>
        /// <param name="isApproved"></param>
        /// <param name="providerUserKey"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public static MembershipCreateStatus QuickCreate(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, out int userId)
        {
            User user = new User();

            user.UserName         = username;
            user.Password         = password;
            user.PasswordAnswer   = passwordAnswer;
            user.PasswordQuestion = passwordQuestion;
            if (isApproved)
            {
                user.AccountStatus = AccountStatus.Authenticated;
            }
            else
            {
                user.AccountStatus = AccountStatus.ApprovalPending;
            }

            CreateUserStatus   status;
            CommonDataProvider dp = CommonDataProvider.Instance;

            user = dp.CreateUpdateUser(user, DataProviderAction.Create, out status);

            userId = user.UserID;
            return((MembershipCreateStatus)status);
        }
コード例 #2
0
        /// <summary>
        /// 创建用户
        /// </summary>
        /// <param name="user">User</param>
        /// <param name="sendEmail">是否发送邮件</param>
        /// <param name="ignoreDisallowNames">是否忽略禁用名(管理员忽略)</param>
        /// <returns>CreateUserStatus</returns>
        public static CreateUserStatus Create(User user, bool sendEmail, bool ignoreDisallowNames)
        {
            //验证用户名是否合法
            if ((!ignoreDisallowNames) && (DisallowedNames.NameIsDisallowed(user.UserName)))
            {
                return(CreateUserStatus.DisallowedUsername);
            }
            //触发事件
            GlobalEvents.BeforeUser(user, ObjectState.Create);
            CreateUserStatus   status;
            CommonDataProvider dp = CommonDataProvider.Instance;

            user = dp.CreateUpdateUser(user, DataProviderAction.Create, out status);
            GlobalEvents.AfterUser(user, ObjectState.Create);
            return(status);
        }