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; }
    }
}

  

posted on 2013-04-09 10:53  larryle  阅读(230)  评论(0编辑  收藏  举报