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

📄 webadminpage.cs

📁 《圣殿祭司的ASP.NET 2.0开发详解——使用C#》光盘内容.包含了书籍所含的源代码.非常经典的一本asp.net2.0的书籍
💻 CS
📖 第 1 页 / 共 4 页
字号:
                application.Context.Session[APP_PATH] = setAppPath;
                application.Context.Session[APP_PHYSICAL_PATH] = setAppPhysPath;
                application.Context.Session[REMOTING_MANAGER] = new WebAdminRemotingManager(setAppPath, setAppPhysPath, application.Context.Session);
            }
        }
    }

    public sealed class WebAdminMembershipProvider : MembershipProvider {

        public WebAdminMembershipProvider() {
        }

        public WebAdminRemotingManager RemotingManager {
            get {
                return (WebAdminRemotingManager) HttpContext.Current.Session["WebAdminRemotingManager"];

            }
        }

        public object CallWebAdminMembershipProviderHelperMethod(string methodName, object[] parameters, Type[] paramTypes) {
            object returnObject = null;
            object tempObject = null;

            tempObject = RemotingManager.ConfigurationHelperInstance;
            if (tempObject != null) {
                string typeFullName = WebAdminRemotingManager.AssemblyVersionString;
                Type tempType = Type.GetType(typeFullName);

                BindingFlags allBindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
                MethodInfo method = tempType.GetMethod("CallMembershipProviderMethod", allBindingFlags);
                if (method != null) {
                    object[] newParameters = new object[]{methodName, parameters, paramTypes};
                    object[] returnArrayObj = (object[]) method.Invoke(tempObject, newParameters);
                    if (returnArrayObj != null) {
                        returnObject = returnArrayObj[0];
                    }
                }
            }

            return returnObject;
        }

        public object[] CallWebAdminMembershipProviderHelperMethodOutParams(string methodName, object[] parameters, Type[] paramTypes) {
            object[] returnObjectArray = new object[0];

            object tempObject = RemotingManager.ConfigurationHelperInstance;
            if (tempObject != null) {
                string typeFullName = WebAdminRemotingManager.AssemblyVersionString;
                Type tempType = Type.GetType(typeFullName);

                BindingFlags allBindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
                MethodInfo method = tempType.GetMethod("CallMembershipProviderMethod", allBindingFlags);
                if (method != null) {
                    object[] newParameters = new object[]{methodName, parameters, paramTypes};
                    object[] returnArrayObj = (object[]) method.Invoke(tempObject, newParameters);
                    if (returnArrayObj != null) {
                        returnObjectArray = returnArrayObj;
                    }
                }
            }

            return returnObjectArray;
        }

        public object GetWebAdminMembershipProviderHelperProperty(string propertyName) {
            object returnObject = null;
            object tempObject = null;
            tempObject = RemotingManager.ConfigurationHelperInstance;
            if (tempObject != null) {
                string typeFullName = WebAdminRemotingManager.AssemblyVersionString;
                Type tempType = Type.GetType(typeFullName);

                BindingFlags allBindingFlags =  BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
                MethodInfo method = tempType.GetMethod("GetMembershipProviderProperty", allBindingFlags);
                if (method != null) {
                    object[] newParameters = new object[]{propertyName};
                    returnObject = method.Invoke(tempObject, newParameters);
                }
            }

            return returnObject;
        }

        public override string ApplicationName
        {
            get { return (string)GetWebAdminMembershipProviderHelperProperty("ApplicationName"); }
            set {;}
        }

        public override bool EnablePasswordRetrieval{
            get {
                return (bool)GetWebAdminMembershipProviderHelperProperty("EnablePasswordRetrieval");
            }
        }

        public override bool EnablePasswordReset
        {
            get{
                return (bool)GetWebAdminMembershipProviderHelperProperty("EnablePasswordReset");
            }
        }

        public override bool RequiresQuestionAndAnswer
        {
            get {
                return (bool)GetWebAdminMembershipProviderHelperProperty("RequiresQuestionAndAnswer");
            }
        }

        public override bool RequiresUniqueEmail
        {
            get {
                return (bool)GetWebAdminMembershipProviderHelperProperty("RequiresUniqueEmail");
            }
        }

        public override int MaxInvalidPasswordAttempts
        {
            get {
                return (int)GetWebAdminMembershipProviderHelperProperty("MaxInvalidPasswordAttempts");
            }
        }

        public override int PasswordAttemptWindow
        {
            get {
                return (int)GetWebAdminMembershipProviderHelperProperty("PasswordAttemptWindow");
            }
        }

        public override MembershipPasswordFormat PasswordFormat
        {
            get {
                return (MembershipPasswordFormat)GetWebAdminMembershipProviderHelperProperty("PasswordFormat");
            }
        }

        public override int MinRequiredPasswordLength
        {
            get { return (int)GetWebAdminMembershipProviderHelperProperty("MinRequiredPasswordLength"); }
        }

        public override int MinRequiredNonAlphanumericCharacters
        {
            get { return (int)GetWebAdminMembershipProviderHelperProperty("MinRequiredNonAlphanumericCharacters"); }
        }

        public override string PasswordStrengthRegularExpression
        {
            get { return (string)GetWebAdminMembershipProviderHelperProperty("PasswordStrengthRegularExpression"); }
        }

        public override bool ChangePassword(string name, string oldPwd, string newPwd)
        {
            return (bool)CallWebAdminMembershipProviderHelperMethod("ChangePassword", new object[]{name, oldPwd, newPwd}, new Type[] {typeof(string), typeof(string), typeof(string)});
        }

        public override bool ChangePasswordQuestionAndAnswer(string name, string password, string newPwdQuestion, string newPwdAnswer)
        {
            return (bool)CallWebAdminMembershipProviderHelperMethod("ChangePasswordQuestionAndAnswer", new object[]{name, password, newPwdQuestion, newPwdAnswer}, new Type[] {typeof(string), typeof(string), typeof(string), typeof(string)});
        }

        public override MembershipUser CreateUser( string username, 
                                                   string password, 
                                                   string email,
                                                   string passwordQuestion,
                                                   string passwordAnswer,
                                                   bool   isApproved,
                                                   object providerUserKey,
                                                   out    MembershipCreateStatus status)
        {
            MembershipUser TempUser = null;
            status = MembershipCreateStatus.InvalidUserName;
            string  typeFullName = "System.Web.Security.MembershipCreateStatus&, " + typeof(HttpContext).Assembly.GetName().ToString();
            Type tempType = Type.GetType(typeFullName);

            object[] returnAndOutParams = CallWebAdminMembershipProviderHelperMethodOutParams("CreateUser", new object[]{username, password, email, passwordQuestion, passwordAnswer, isApproved, providerUserKey, status} , new Type[] {typeof(string), typeof(string), typeof(string), typeof(string), typeof(string), typeof(bool), typeof(object), tempType});
            if (returnAndOutParams != null) {
                TempUser = (MembershipUser) returnAndOutParams[0];
                status = (MembershipCreateStatus) returnAndOutParams[8];
            }

            if (status != MembershipCreateStatus.Success) {
                return null;
            }
            else {
                return TempUser;
            }
        }

        public override bool DeleteUser(string name, bool deleteAllRelatedContent)
        {
              return (bool)CallWebAdminMembershipProviderHelperMethod("DeleteUser", new object[]{name, deleteAllRelatedContent}, new Type[] {typeof(string), typeof(bool)});
        }

        public override MembershipUserCollection GetAllUsers(int pageIndex, int pageSize, out int totalRecords)
        {
            totalRecords = 0;
            MembershipUserCollection TempList = (MembershipUserCollection) CallWebAdminMembershipProviderHelperMethod("GetAllUsers", new object[]{pageIndex, pageSize, totalRecords}, new Type[] {typeof(int), typeof(int),Type.GetType("System.Int32&")});
            MembershipUserCollection NewList = new MembershipUserCollection();
            foreach (MembershipUser TempItem in TempList)
            {
                MembershipUser NewUser = new MembershipUser(this.Name,
                                                    TempItem.UserName,
                                                    TempItem.ProviderUserKey,
                                                    TempItem.Email,
                                                    TempItem.PasswordQuestion,
                                                    TempItem.Comment,
                                                    TempItem.IsApproved,
                                                    TempItem.IsLockedOut,
                                                    TempItem.CreationDate,
                                                    TempItem.LastLoginDate,
                                                    TempItem.LastActivityDate,
                                                    TempItem.LastPasswordChangedDate,
                                                    TempItem.LastLockoutDate );
           
                NewList.Add(NewUser);
            }
            
            return NewList;
        }

        public override MembershipUserCollection FindUsersByEmail(string emailToMatch, int pageIndex, int pageSize, out int totalRecords)
        {
            totalRecords = 0;
            MembershipUserCollection TempList = (MembershipUserCollection) CallWebAdminMembershipProviderHelperMethod("FindUsersByEmail", new object[]{emailToMatch, pageIndex, pageSize, totalRecords}, new Type[] {typeof(string), typeof(int), typeof(int),Type.GetType("System.Int32&")});
            MembershipUserCollection NewList = new MembershipUserCollection();
            foreach (MembershipUser TempItem in TempList)
            {
                MembershipUser NewUser = new MembershipUser(this.Name,
                                                    TempItem.UserName,
                                                    TempItem.ProviderUserKey,
                                                    TempItem.Email,
                                                    TempItem.PasswordQuestion,
                                                    TempItem.Comment,
                                                    TempItem.IsApproved,
                                                    TempItem.IsLockedOut,
                                                    TempItem.CreationDate,
                                                    TempItem.LastLoginDate,
                                                    TempItem.LastActivityDate,
                                                    TempItem.LastPasswordChangedDate,
                                                    TempItem.LastLockoutDate );
           
                NewList.Add(NewUser);
            }
            
            return NewList;
        }

        public override int GetNumberOfUsersOnline()
        {
            return (int) CallWebAdminMembershipProviderHelperMethod("GetNumberOfUsersOnline", new object[]{}, null);
        }

        public override string GetPassword(string name, string answer)
        {
            return (string) CallWebAdminMembershipProviderHelperMethod("GetPassword", new object[]{name, answer}, new Type[] {typeof(string), typeof(string)});
        }

        public override MembershipUser GetUser(string name, bool userIsOnline)
        {
            MembershipUser TempUser = (MembershipUser)CallWebAdminMembershipProviderHelperMethod("GetUser", new object[]{name, userIsOnline}, new Type[] {typeof(string), typeof(bool)});
            MembershipUser NewUser = new MembershipUser(this.Name,
                                                    TempUser.UserName,
                                                    TempUser.ProviderUserKey,
                                                    TempUser.Email,
                                                    TempUser.PasswordQuestion,
                                                    TempUser.Comment,
                                                    TempUser.IsApproved,
                                                    TempUser.IsLockedOut,
                                                    TempUser.CreationDate,
                                                    TempUser.LastLoginDate,
                                                    TempUser.LastActivityDate,
                                                    TempUser.LastPasswordChangedDate,
                                                    TempUser.LastLockoutDate );

⌨️ 快捷键说明

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