• net中用户登录验证和基页面类


     if (blIsUser)
            {
    //将用户名称存入cookie FormsAuthentication.SetAuthCookie(strLogName,
    false);
    if (IsAdmin(strLogName)) { Response.Redirect("AdminGround/adminmain.aspx"); } else { Response.Redirect("defaultList.aspx"); } } else { this.Alert("登陆失败"); return; }

    基页面类

    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Data.SqlClient;
    using PycSQLHelper;
    
    public class ThisWebBase : System.Web.UI.Page
    {
        public ThisWebBase()
        {
    
        }
    
        protected override void OnInit(EventArgs e)
        {
            if (!User.Identity.IsAuthenticated)
            {
                Response.Clear();
                Response.Write("您还未登陆");
                Response.End();
            }
            string strFirstFolder = this.Request.AppRelativeCurrentExecutionFilePath.Substring(2);
            if (strFirstFolder.Contains("/"))
            {
                strFirstFolder = strFirstFolder.Substring(0, strFirstFolder.IndexOf("/"));
            }
            if (strFirstFolder.ToLower() == ConfigurationManager.AppSettings["AdminFolder"].ToLower())
            {
                if (!CheckUserIsAdmin(GetCurrentUser()))
                {
                    Response.Clear();
                    Response.Write("您不是管理员");
                    Response.End();
                }
            }
            base.OnInit(e);
        }
    
        private bool CheckUserIsAdmin(string strLogName)
        {
            string strSql = "select count(*) from useres where logname=@logname and role=1";
            if (Convert.ToInt32(SqlHelper.ExecuteScalar(SqlHelper.ConnString, CommandType.Text, strSql, new SqlParameter("@logname", strLogName))) > 0)
                return true;
            return false;
        }
    
        /// <summary>
        /// 返回当前登录人用户名
        /// </summary>
        /// <returns></returns>
        public string GetCurrentUser()
        {
            string strName = System.Web.HttpContext.Current.User.Identity.Name.Trim();
            if (strName != null)
            {
                int index = strName.IndexOf("\\");
                if (index > -1)
                {
                    strName = strName.Substring(index + 1);
                }
            }
            return strName;
        }
    
        /// <summary>
        /// 验证传入的ID类字符串是否有效
        /// </summary>
        /// <param name="strID">传入字符串</param>
        /// <param name="intID">传出ID</param>
        protected void checkID(string strID, out int intID)
        {
            if (!int.TryParse(strID, out intID) && strID != null)
            {
                Response.Clear();
                Response.Write("参数错误!");
                Response.End();
            }
        }
    
        /// <summary>
        /// 绑定下拉菜单列表
        /// </summary>
        /// <param name="drp">要绑定的菜单</param>
        /// <param name="dt">数据源</param>
        /// <param name="strText">显示列</param>
        /// <param name="strValue">值列</param>
        protected void Drp_Bind(DropDownList drp, DataTable dt, string strText, string strValue, bool blInsert)
        {
            drp.Items.Clear();
            if (dt.Rows.Count > 0)
            {
                drp.DataSource = dt;
                drp.DataTextField = strText;
                drp.DataValueField = strValue;
                drp.DataBind();
    
                if (blInsert)
                {
                    drp.Items.Insert(0, new ListItem("--", "0"));
                }
            }
            else
            {
                drp.Items.Add(new ListItem("--", "0"));
            }
        }
    
        /// <summary>
        /// 提示
        /// </summary>
        /// <param name="strAlert">要显示的信息</param>
        protected void Alert(string strAlert)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">alert('" + strAlert + "')</script>");
        }
        /// <summary>
        /// 提示关闭
        /// </summary>
        /// <param name="strAlert">要显示的信息</param>
        protected void AlertClose(string strAlert)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">alert('" + strAlert + "');window.close();</script>");
        }
        /// <summary>
        /// 关闭页面
        /// </summary>
        protected void Close()
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">window.close();</script>");
        }
        /// <summary>
        /// 返回值
        /// </summary>
        protected void returnValue(string managers)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">window.returnValue='" + managers + "';window.close();</script>");
        }
        /// <summary>
        /// 提示并刷新当前页
        /// </summary>
        /// <param name="strAlert">要显示的信息</param>
        protected void AlertRefresh(string strAlert)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">alert('" + strAlert + "');window.location.href=window.location;</script>");
        }
    
        /// <summary>
        /// 提示并刷新父页面关闭本页面
        /// </summary>
        /// <param name="strAlert">要显示的信息</param>
        protected void AlertRefreshParent(string strAlert)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">alert('" + strAlert + "');window.close();window.opener.location.reload();</script>");
        }
    
        /// <summary>
        /// 提示并跳转
        /// </summary>
        /// <param name="strAlert">要显示的信息</param>
        /// <param name="strURL">要跳转的页面</param>
        protected void AlertRefresh(string strAlert, string strURL)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">alert('" + strAlert + "');window.location.href='" + strURL + "';</script>");
        }
    
        /// <summary>
        /// 运行javascript函数
        /// </summary>
        /// <param name="strAlert">函数名称</param>
        protected void RunScriptFunction(string strFunction)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">" + strFunction + "</script>");
        }
    
        /// <summary>
        /// 提示框
        /// </summary>
        /// <param name="strConfirm">提示信息</param>
        protected void Confirm(string strConfirm, string id)
        {
            this.ClientScript.RegisterStartupScript(this.GetType(), "", "<script type=\"text/javascript\">if(confirm('" + strConfirm + "') == true){window.document.all('" + id + "').click();};</script>");
        }
        /// <summary>
        /// 截取字符串
        /// </summary>
        /// <param name="strInput"></param>
        /// <param name="intLen"></param>
        /// <returns></returns>
        public string cutString(string strInput, int intLen)
        {
            strInput = strInput.Trim();
            byte[] myByte = System.Text.Encoding.Default.GetBytes(strInput);
            if (myByte.Length > intLen)
            {
                //截取操作
                string resultStr = "";
                for (int i = 0; i < strInput.Length; i++)
                {
                    byte[] tempByte = System.Text.Encoding.Default.GetBytes(resultStr);
                    if (tempByte.Length < intLen)
                    {
    
                        resultStr += strInput.Substring(i, 1);
                    }
                    else
                    {
                        break;
                    }
                }
                return resultStr + "...";
            }
            else
            {
                return strInput;
            }
        }
    
        /// <summary>
        /// 加密
        /// </summary>
        /// <param name="pToEncrypt">需要加密的字符串</param>
        /// <param name="sKey">密钥</param>
        /// <returns></returns>
        public string Encrypt(string pToEncrypt, string sKey)
        {
            try
            {
                if (pToEncrypt == "")
                    return "";
                else
                {
                    System.Security.Cryptography.TripleDESCryptoServiceProvider des = new System.Security.Cryptography.TripleDESCryptoServiceProvider();
    
                    des.Key = System.Text.Encoding.UTF8.GetBytes(sKey);
                    des.Mode = System.Security.Cryptography.CipherMode.ECB;
                    System.Security.Cryptography.ICryptoTransform DESEncrypt = des.CreateEncryptor();
                    byte[] Buffer = System.Text.Encoding.UTF8.GetBytes(pToEncrypt);
                    string retValue = Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
                    DESEncrypt.Dispose();
                    return retValue;
                }
            }
            catch { return ""; }
        }
    
        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="pToDecrypt">需要解密的字符串</param>
        /// <param name="sKey">密钥</param>
        /// <returns></returns>
        public string Decrypt(string pToDecrypt, string sKey)
        {
            try
            {
                if (pToDecrypt == "")
                    return "";
                else
                {
                    System.Security.Cryptography.TripleDESCryptoServiceProvider des = new System.Security.Cryptography.TripleDESCryptoServiceProvider();
                    des.Key = System.Text.Encoding.UTF8.GetBytes(sKey);
                    des.Mode = System.Security.Cryptography.CipherMode.ECB;
                    des.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
                    System.Security.Cryptography.ICryptoTransform DESDecrypt = des.CreateDecryptor();
    
                    string result = "";
                    byte[] Buffer = Convert.FromBase64String(pToDecrypt);
                    result = System.Text.Encoding.UTF8.GetString(DESDecrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
                    DESDecrypt.Dispose();
                    return result;
                }
            }
            catch { return ""; }
        }
    
        /// <summary>
        /// 返回选项前标记
        /// </summary>
        /// <param name="intFlag">传进的选项序号</param>
        /// <returns></returns>
        public string returnOptionIndex(int intFlag)
        {
            string[] strOptionIndex = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N" };
            if (intFlag >= 0 && intFlag < 15)
                return strOptionIndex[intFlag];
            return " ";
        }
    
        /// <summary>
        /// 返回题型前汉字序号
        /// </summary>
        public string []returnTypeIndex
        {
            get { string[] str = { "一", "二", "三", "四", "五" }; return str; }
        }
    }
    

      

  • 相关阅读:
    MySQL基础
    MySQL约束
    firefox插件hostadmin自由切换host
    ITerm2下使用ssh访问Linux
    web优化(一 前端)
    php类的魔术方法也就是带下划线的类方法介绍及应用
    数据库水平切分的实现原理(分库,分表,主从,集群,负载均衡)
    三年以上php开发经验常见面试题
    php海量架构
    一个高级PHP工程师所应该具备的(转自元如枫博客)
  • 原文地址:https://www.cnblogs.com/systemnet123/p/3009564.html
Copyright © 2020-2023  润新知