⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extendedsqlmembershipprovider.cs

📁 BugNET is an issue tracking and project issue management solution built using the ASP.NET web applic
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.Security;
using System.Web.Profile;

namespace BugNET.Providers.MembershipProviders
{
    /// <summary>
    /// Extended membership provider
    /// </summary>
    public class ExtendedSqlMembershipProvider  : SqlMembershipProvider
    {
        /// <summary>
        /// Adds a new user to the SQL Server membership database.
        /// </summary>
        /// <param name="username">The user name for the new user.</param>
        /// <param name="password">The password for the new user.</param>
        /// <param name="email">The e-mail address for the new user.</param>
        /// <param name="passwordQuestion">The password question for the new user.</param>
        /// <param name="passwordAnswer">The password answer for the new user.</param>
        /// <param name="isApproved">Whether or not the new user is approved to be validated.</param>
        /// <param name="providerUserKey">A <see cref="T:System.Guid"></see> that uniquely identifies the membership user in the SQL Server database.</param>
        /// <param name="status">One of the <see cref="T:System.Web.Security.MembershipCreateStatus"></see> values, indicating whether the user was created successfully.</param>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser"></see> object for the newly created user. If no user was created, this method returns null.
        /// </returns>
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            MembershipUser oldUser = base.CreateUser(username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, out status);
            if (status == MembershipCreateStatus.Success)
            {
                ProfileBase profile = ProfileBase.Create(oldUser.UserName);
                string firstName = (string)profile.GetPropertyValue("FirstName");
                string lastName = (string)profile.GetPropertyValue("LastName");
                string displayName = (string)profile.GetPropertyValue("DisplayName");

                CustomMembershipUser newUser = new CustomMembershipUser(oldUser.ProviderName,
                                                                        oldUser.UserName,
                                                                        oldUser.ProviderUserKey,
                                                                        oldUser.Email,
                                                                        oldUser.PasswordQuestion,
                                                                        oldUser.Comment,
                                                                        oldUser.IsApproved,
                                                                        oldUser.IsLockedOut,
                                                                        oldUser.CreationDate,
                                                                        oldUser.LastLoginDate,
                                                                        oldUser.LastActivityDate,
                                                                        oldUser.LastPasswordChangedDate,
                                                                        oldUser.LastLockoutDate,
                                                                        displayName,
                                                                        firstName,
                                                                        lastName);

                return newUser;
            }
            return null;
        }
       

        /// <summary>
        /// Returns information from the SQL Server membership database for a user and provides an option to update the last activity date/time stamp for the user.
        /// </summary>
        /// <param name="username">The name of the user to get information for.</param>
        /// <param name="userIsOnline">true to update the last activity date/time stamp for the user; false to return user information without updating the last activity date/time stamp for the user.</param>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUser"></see> object representing the specified user. If no user is found in the database for the specified username value, null is returned.
        /// </returns>
        /// <exception cref="T:System.ArgumentException">username exceeds 256 characters.- or -username contains a comma.</exception>
        /// <exception cref="T:System.ArgumentNullException">username is null.</exception>
        public override MembershipUser GetUser(string username, bool userIsOnline)
        {
            MembershipUser oldUser = base.GetUser(username, userIsOnline);
            ProfileBase profile = ProfileBase.Create(username);
            string firstName = (string)profile.GetPropertyValue("FirstName");
            string lastName = (string)profile.GetPropertyValue("LastName");
            string displayName = (string)profile.GetPropertyValue("DisplayName");

            if (oldUser == null)
                return null;

            CustomMembershipUser newUser = new CustomMembershipUser(oldUser.ProviderName,
                                                                    oldUser.UserName,
                                                                    oldUser.ProviderUserKey,
                                                                    oldUser.Email,
                                                                    oldUser.PasswordQuestion,
                                                                    oldUser.Comment,
                                                                    oldUser.IsApproved,
                                                                    oldUser.IsLockedOut,
                                                                    oldUser.CreationDate,
                                                                    oldUser.LastLoginDate,
                                                                    oldUser.LastActivityDate,
                                                                    oldUser.LastPasswordChangedDate,
                                                                    oldUser.LastLockoutDate,
                                                                    displayName,
                                                                    firstName,
                                                                    lastName);

            return newUser;


        }

        /// <summary>
        /// Gets a collection of all the users in the SQL Server membership database.
        /// </summary>
        /// <param name="pageIndex">The index of the page of results to return. pageIndex is zero-based.</param>
        /// <param name="pageSize">The size of the page of results to return.</param>
        /// <param name="totalRecords">The total number of users.</param>
        /// <returns>
        /// A <see cref="T:System.Web.Security.MembershipUserCollection"></see> of <see cref="T:System.Web.Security.MembershipUser"></see> objects representing all the users in the database for the configured <see cref="P:System.Web.Security.SqlMembershipProvider.ApplicationName"></see>.
        /// </returns>
        /// <exception cref="T:System.ArgumentException">pageIndex is less than zero.- or -pageSize is less than one.- or -pageIndex multiplied by pageSize plus pageSize minus one exceeds <see cref="F:System.Int32.MaxValue"></see>.</exception>
        public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords)
        {
            MembershipUserCollection collection = new MembershipUserCollection();
            CustomMembershipUser newUser;
            foreach (MembershipUser oldUser in base.GetAllUsers(pageIndex, pageSize, out totalRecords))
            {
                ProfileBase profile = ProfileBase.Create(oldUser.UserName);
                string firstName = (string)profile.GetPropertyValue("FirstName");
                string lastName = (string)profile.GetPropertyValue("LastName");
                string displayName = (string)profile.GetPropertyValue("DisplayName");

                newUser = new CustomMembershipUser(oldUser.ProviderName,
                                                   oldUser.UserName,
                                                   oldUser.ProviderUserKey,
                                                   oldUser.Email,
                                                   oldUser.PasswordQuestion,
                                                   oldUser.Comment,
                                                   oldUser.IsApproved,
                                                   oldUser.IsLockedOut,
                                                   oldUser.CreationDate,
                                                   oldUser.LastLoginDate,
                                                   oldUser.LastActivityDate,
                                                   oldUser.LastPasswordChangedDate,
                                                   oldUser.LastLockoutDate,
                                                   displayName,
                                                   firstName,
                                                   lastName);
                collection.Add(newUser);
            }
            return collection;
        }

        /// <summary>
        /// Gets a collection of membership users where the user name contains the specified user name to match.
        /// </summary>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -