Asp.net 中使用BasePage.cs的例子


using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using NetCMS.Config;
using NetCMS.Model;
using NetCMS.Content;

namespace NetCMS.Web.UI
{
    public class BasePage : System.Web.UI.Page
    {
        protected readonly int PAGESIZE = Config.UIConfig.GetPageSize();
        protected internal UserLogin _UserLogin;
        protected internal string CopyRight = " (c)2008 AspxCMS Inc. By " + NetCMS.Config.verConfig.Productversion + "";
        protected void AddStyleSheet(Page page, string cssPath)
        {
            HtmlLink link = new HtmlLink();
            link.Href = cssPath;
            link.Attributes["rel"] = "stylesheet";
            link.Attributes["type"] = "text/css";
        }
        public BasePage()
        {
            _UserLogin = new UserLogin();
        }
        protected void PageRight(string RightMsg, string Url)
        {
            PageRight(RightMsg, Url, false);
        }

        protected void PageRight(string ErrMsg, string Url, bool RetrunUrl)
        {
            WebHint.ShowRight(ErrMsg, Url, RetrunUrl);
        }

        protected void PageError(string ErrMsg, string Url)
        {
            PageError(ErrMsg, Url, false);
        }

        protected void PageError(string ErrMsg, string Url, bool RetrunUrl)
        {
            WebHint.ShowError(ErrMsg, Url, RetrunUrl);
        }

        /// 
        /// 退出
        /// 
        protected virtual void Logout()
        {
            Context.Session.Remove("SITEINFO");
        }
        /// 
        /// 执行一个JS语句
        /// 
        /// 要执行的语句
        protected void ExecuteJs(string sentence)
        {
            Context.Response.Write("");
        }
        /// 
        /// 检查用户信息会话是否超时
        /// 
        /// 
        protected bool Validate_Session()
        {
            return !NetCMS.Global.Current.IsTimeout();
        }
        protected void LoginResultShow(EnumLoginState state)
        {
            LoginResultShow(state, false);
        }
        protected void LoginResultShow(EnumLoginState state, bool isAjax)
        {
            string ErrorMsg = string.Empty;
            int isAdminReturn = 0;
            switch (state)
            {
                case EnumLoginState.Err_IPLimited:
                    ErrorMsg = "您IP[" + NetCMS.Common.Public.getUserIP() + "]被限制,不能登陆!";
                    isAdminReturn = 2;
                    break;
                case EnumLoginState.Err_Locked:
                    ErrorMsg = "您已经被锁定!";
                    isAdminReturn = 2;
                    break;
                case EnumLoginState.Err_UnEmail:
                    ErrorMsg = "您还没通过电子邮件激活,不能登陆本系统!";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_AdminTimeOut:
                    ErrorMsg = "会话过期,请重新登陆";
                    isAdminReturn = 1;
                    break;
                case EnumLoginState.Err_UserTimeOut:
                    ErrorMsg = "会话过期,请重新登陆";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_UnMobile:
                    ErrorMsg = "您还没通过手机验证,不能登陆本系统! 点击此处验证您的手机";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_UnCert:
                    ErrorMsg = "";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_NoAuthority:
                    ErrorMsg = "您没有此项的操作权限!";
                    isAdminReturn = 1;
                    break;
                case EnumLoginState.Err_AdminLocked:
                    ErrorMsg = "您已被锁定";
                    isAdminReturn = 1;
                    break;
                case EnumLoginState.Err_DbException:
                    ErrorMsg = "系统错误。 出错原因:与数据库服务器的通信失败。数据库连接字符串不正确。数据库发生异常。";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_UserNumInexistent:
                    ErrorMsg = "用户不存在";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_AdminNumInexistent:
                    ErrorMsg = "权限不足!";
                    isAdminReturn = 1;
                    break;
                case EnumLoginState.Err_DurativeLogError:
                    ErrorMsg = "连续错误登陆,您已经被锁定,请" + _UserLogin.GetLoginSpan() + "分钟后再登录!";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_AdminNameOrPwdError:
                    ErrorMsg = "用户名不存在或者密码错误";
                    isAdminReturn = 1;
                    break;
                case EnumLoginState.Err_UserNameOrPwdError:
                    ErrorMsg = "用户名不存在或者密码错误";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_GroupExpire:
                    ErrorMsg = "您的帐号已过期";
                    isAdminReturn = 0;
                    break;
                case EnumLoginState.Err_NotAdmin:
                    ErrorMsg = "抱歉,您不是管理员。您的操作已经记录!您的IP:[" + NetCMS.Common.Public.getUserIP() + "]已被记录";
                    isAdminReturn = 1;
                    break;
                case EnumLoginState.Succeed:
                    return;
                default:
                    ErrorMsg = "异常错误:" + state.ToString();
                    isAdminReturn = 0;
                    break;
            }
            string dimm = NetCMS.Config.UIConfig.dirDumm.Trim();
            if (dimm != string.Empty)
            {
                dimm = "/" + dimm;
            }
            string ReturnUrl = string.Empty;
            switch (isAdminReturn)
            {
                case 0:
                    ReturnUrl = dimm + "/" + NetCMS.Config.UIConfig.dirUser + "/login.aspx";
                    break;
                case 1:
                    if (state == EnumLoginState.Err_NoAuthority)
                    {
                        ReturnUrl = dimm + "/" + NetCMS.Config.UIConfig.dirMana + "/main.aspx";
                    }
                    else
                    {
                        ReturnUrl = dimm + "/" + NetCMS.Config.UIConfig.dirMana + "/login.aspx";
                    }
                    break;
                default:
                    ReturnUrl = dimm + "/";
                    break;
            }
            if (isAjax)
                throw new Exception(ErrorMsg);
            else
                PageError(ErrorMsg, ReturnUrl, true);
        }
        protected void CheckUserLogin()
        {
            if (!Validate_Session())
                LoginResultShow(EnumLoginState.Err_UserTimeOut);
            else
                LoginResultShow(CheckUserLogin(NetCMS.Global.Current.UserNum, false));
        }
        protected void CheckUserLoginCert()
        {
            if (!Validate_Session())
                LoginResultShow(EnumLoginState.Err_UserTimeOut);
            else
                LoginResultShow(CheckUserLogin(NetCMS.Global.Current.UserNum, true));
        }
        protected void CheckAdminLogin()
        {
            if (!Validate_Session())
                LoginResultShow(EnumLoginState.Err_AdminTimeOut);
            else
                LoginResultShow(CheckUserLogin(NetCMS.Global.Current.UserNum, true));
        }
        /// 
        /// 检查普通会员登录状态
        /// 
        /// 
        /// 
        /// 
        /// 
        private EnumLoginState CheckUserLogin(string UserNum, bool IsCert)
        {
            return _UserLogin.CheckUserLogin(UserNum, IsCert);
        }
        /// 
        /// 检查管理员登录状态
        /// 
        /// 
        /// 
        /// 
        private EnumLoginState CheckAdminLogin(string UserNum)
        {
            return _UserLogin.CheckAdminLogin(UserNum);
        }
       /// 
       /// 用户登录
       /// 
       /// 
       /// 
       /// 
       /// 
       /// 
        protected EnumLoginState Login(string UserName,string Password,out GlobalUserInfo info, bool IsAdmin)
        {
            if (IsAdmin)
                return _UserLogin.AdminLogin(UserName, Password, out info);
            else
                return _UserLogin.PersonLogin(UserName, Password, out info);
                
        }
       /// 
        /// 个人用户登录
       /// 
       /// 
       /// 
       /// 
       /// 
        protected EnumLoginState Login(string UserName, string Password, out GlobalUserInfo info)
        {
                return _UserLogin.PersonLogin(UserName, Password, out info);
        }
        /// 
        /// 个人用户登录
        /// 
        /// 
        /// 
        protected void Login(string UserName, string Password)
        {
            GlobalUserInfo info;
            EnumLoginState state = _UserLogin.PersonLogin(UserName, Password, out info);
            if (state == EnumLoginState.Succeed)
                Global.Current.Set(info);
            else
                LoginResultShow(state);
        }

        /// 
        /// 个人用户登录
        /// 
        /// 
        /// 
        protected void AjaxLogin(string UserName, string Password)
        {
            GlobalUserInfo info;
            EnumLoginState state = _UserLogin.PersonLogin(UserName, Password, out info);
            if (state == EnumLoginState.Succeed)
                Global.Current.Set(info);
            else
                LoginResultShow(state, true);
        }

    }
}

 

 

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22392018/viewspace-1068459/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22392018/viewspace-1068459/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值