인증 코드 일반 처리 프로그램 구현

8167 단어 인증 코드
인증번호로 로그인합니다.주체적 사고방식: 일반 처리 프로그램은 검증 코드를 생성하고 검증 코드의 값을 저장하여Session 대상에서 로그인 페이지에서 얻고 판단한다.
먼저 로그인 인터페이스 Login을 설정합니다.aspx.코드는 다음과 같습니다.
<body>

    <form id="form1" runat="server">

    <div>       
     :
<asp:textbox ID="txtvalidate" runat="server"></asp:textbox> <img alt="" src="ValidateCode.ashx" width="60" height="30"/> <br /> <asp:Button ID="btnLogin" runat="server" Text=" " onclick="btnLogin_Click" /> </div> </form> </body>

로그인 버튼 btnLoginClick 이벤트는 다음과 같습니다.
        protected void btnLogin_Click(object sender, EventArgs e)

        {

            string validate=txtvalidate.Text.Trim();

            if (Session["code"] == null || Session["code"].ToString() != validate)

            {

                Response.Write("<script type='text/javascript'>alert('     !')</script>");

                return;

            }
       Response.Redirect("Default.aspx");//
}

새 Validate Code.ashx.GDI+를 통해 드로잉을 그립니다.일반 응용 프로그램에서는 Session 객체를 직접 사용할 수 없으며 이름공간 using System을 도입해야 합니다.Web.SessionState.
IrequiresSessionState 인터페이스를 구현합니다.
일반 프로세서 코드는 다음과 같습니다.
using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Drawing;

using System.Web.SessionState;



namespace     

{

    /// <summary>

    /// ValidateCode      

    /// </summary>

    public class ValidateCode : IHttpHandler,IRequiresSessionState

    {



        public void ProcessRequest(HttpContext context)

        {

            context.Response.ContentType = "text/plain";

            using (Bitmap bitmap=new Bitmap(60,30))

            {

                using (Font f=new Font("  ",20))

                {

                    using (Graphics g=Graphics.FromImage(bitmap))

                    {

                        Random r = new Random();

                        int validata = r.Next(1000,9999);//             

                        context.Session["code"]=validata;//   Session     

                        g.DrawString(validata.ToString(),f,Brushes.Red,new PointF(0,0));

                    }

                }

                bitmap.Save(context.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);

            }

        }



        public bool IsReusable

        {

            get

            {

                return false;

            }

        }

    }

}

좋은 웹페이지 즐겨찾기