CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

新闻系统用户登录?

楼主alangfl()2005-01-31 00:22:47 在 .NET技术 / ASP.NET 提问

我是初学者,新闻系统用户登录,大家说说思路  
  C#+ACCESS的,谁有简单的源码,发到sddyd@sina.com 问题点数:20、回复次数:4Top

1 楼czhenq(...... fucking life. I want to change.)回复于 2005-01-31 00:34:46 得分 0

Login.aspx   登陆页面中的登陆按钮  
  private   void   btnConfirm_Click(object   sender,   System.EventArgs   e)  
  {  
        LoginHelp   login   =   new   LoginHelp();  
        login.UserName   =   txtUserName.Text;  
        login.PassWord   =   txtPassWord.Text;  
        bool   bResult   =   login.Login();  
          if(bResult)  
        {  
  Session[LoginHelp.SessionName]   =   true;  
  Response.Redirect("default.aspx",true);  
        }  
  }  
   
  然后在每个管理页面的Page_Load里加上  
  try  
  {  
  bool   ifLogin   =   bool.Parse(Session[LoginHelp.SessionName].ToString());  
  (!ifLogin)  
  Response.Redirect("Login.aspx",true);  
  }  
  catch  
  {  
  Response.Redirect("Login.aspx",true);  
  }  
   
  LoginHelp.SessionName   //Session的名字,写在另外的一个类里  
  LoginHelp   //   自己写的一个登陆类Top

2 楼yyne(一步一个脚印往上爬)回复于 2005-01-31 04:18:02 得分 15

给一段验证登录的参考代码:  
   
  Web.Config  
  ----------------------------  
  <configuration>  
      <system.web>  
          <authentication   mode="Forms"   />  
          <authorization>  
              <deny   users="?"   />  
          </authorization>  
      </system.web>  
  </configuration>  
   
   
   
  Login.aspx  
  ----------------------------  
  <%@   Page   Language="C#"   %>  
  <%@   Import   Namespace="System.Data"   %>  
  <%@   Import   Namespace="System.Data.SqlClient"   %>  
   
  <script   language="C#"   runat=server>  
   
  void   Page_Load(Object   sender   ,   EventArgs   e)    
  {  
        string     strLinkPath;  
   
      if   (!   IsPostBack   )   {  
          strLinkPath   =   string   .Format(   "Register/Register.aspx?ReturnUrl={0}",   Request.Params[   "ReturnUrl"   ]   );  
          lnkRegister.NavigateUrl   =   string   .Format(   strLinkPath   );  
      }  
  }  
   
  void   Button_Click(   object   s,   EventArgs   e   )   {  
      if   (   IsValid   )   {  
          if   (   DBAuthenticate(   txtUsername.Text,   txtPassword.Text   )   >   0   )  
          {  
              FormsAuthentication.RedirectFromLoginPage(   txtUsername.Text,   false   );  
          }  
      }  
  }  
   
  int   DBAuthenticate(   string     strUsername,   string     strPassword   )   {  
  SqlConnection   conMyData;  
  SqlCommand   cmdSelect;  
  SqlParameter   parmReturnValue;  
  int   intResult;  
   
  conMyData   =   new   SqlConnection(   "Server=localhost;Integrated   Security=SSPI;Database=myData"   );  
  cmdSelect   =   new   SqlCommand(   "DBAuthenticate",   conMyData   );  
  cmdSelect.CommandType   =   CommandType.StoredProcedure;  
  parmReturnValue   =   cmdSelect.Parameters.Add(   "RETURN_VALUE",   SqlDbType.Int   );  
  parmReturnValue.Direction   =   ParameterDirection.ReturnValue;  
  cmdSelect.Parameters.Add(   "@username",   strUsername   );  
  cmdSelect.Parameters.Add(   "@password",   strPassword   );  
  conMyData.Open();  
  cmdSelect.ExecuteNonQuery();  
  intResult   =   System.Convert.ToInt32(cmdSelect.Parameters[   "RETURN_VALUE"   ].Value);  
  conMyData.Close();  
  if   (   intResult   <   0   )  
  {  
  if   (   intResult   ==   -1   )  
  {  
  lblMessage.Text   =   "Username   !   Registered!";  
  }    
  else  
  {  
  lblMessage.Text   =   "Invalid   Password!";  
  }  
  }  
  return   intResult;  
  }  
   
  </Script>  
   
  <html>  
  <head><title>Login.aspx</title></head>  
  <body>  
  <form   Runat="Server">  
   
  <h2>Please   Login:</h2>  
   
  <asp:Label  
      ID="lblMessage"  
      ForeColor="Red"  
      Font-Bold="True"  
      Runat="Server"   />  
  <p>  
  <b>Username:</b>  
  <br/>  
  <asp:TextBox  
      ID="txtUsername"  
      Runat="Server"   />  
  <asp:RequiredFieldValidator  
      ControlToValidate="txtUsername"  
      Text="Required!"  
      Runat="Server"   />  
  <p>  
  <b>Password:</b>  
  <br/>  
  <asp:TextBox  
      ID="txtPassword"  
      Runat="Server"   />  
  <asp:RequiredFieldValidator  
      ControlToValidate="txtPassword"  
      Text="Required!"  
      Runat="Server"   />  
  <p>  
  <asp:Button  
      Text="Login!"  
      OnClick="Button_Click"  
      Runat="Server"   />  
  <hr>  
  <asp:HyperLink  
      ID="lnkRegister"  
      Text="Click   Here   To   Register!"  
      Runat="Server"   />  
   
  </form>  
  </body>  
  </html>  
  Top

3 楼yyne(一步一个脚印往上爬)回复于 2005-01-31 04:18:36 得分 0

给一个验证码参考程序:  
   
  ASP.Net实现验证码  
  -----------------------------------start----------------------------------------------  
  using   System.Drawing;  
  using   System.Drawing.Imaging;  
  private   void   Page_Load(object   sender,   System.EventArgs   e)  
      {  
        //   在此处放置用户代码以初始化页面  
        //RndNum是一个自定义函数  
        string   VNum=RndNum(4);   //这里的数字4代表显示的是4位的验证字符串!  
        Session["VNum"]=VNum;  
        ValidateCode(VNum);  
      }  
  //生成图像函数  
      private   void   ValidateCode(string   VNum)    
      {  
        int   Gheight=(int)(VNum.Length   *   11.5);  
        //gheight为图片宽度,根据字符长度自动更改图片宽度  
        System.Drawing.Bitmap   Img   =   new   System.Drawing.Bitmap(Gheight,20);  
        Graphics   g   =   Graphics.FromImage(Img);  
        g.DrawString(VNum,new   System.Drawing.Font("Arial",10),new   System.Drawing.SolidBrush(Color.Red),3,3);    
        //在矩形内绘制字串(字串,字体,画笔颜色,左上x.左上y)    
        System.IO.MemoryStream   ms=new   System.IO.MemoryStream();  
        Img.Save(ms,System.Drawing.Imaging.ImageFormat.Png);    
        Response.ClearContent();   //需要输出图象信息   要修改HTTP头    
        Response.ContentType="image/Png";  
        Response.BinaryWrite(ms.ToArray());  
        g.Dispose();  
        Img.Dispose();    
        Response.End();  
      }  
   
  //生成随机数函数中从Vchar数组中随机抽取  
  //字母区分大小写  
  public   string   RndNum(int   VcodeNum)    
      {  
        string   Vchar   =   "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,W,X,Y,Z"   ;  
         
        string[]   VcArray   =   Vchar.Split(',')   ;  
        string     VNum   =   ""   ;//由于字符串很短,就不用StringBuilder了  
        int   temp   =   -1   ;//记录上次随机数值,尽量避免生产几个一样的随机数  
   
        //采用一个简单的算法以保证生成随机数的不同  
        Random   rand   =new   Random();  
        for   (   int   i   =   1   ;   i   <   VcodeNum+1   ;   i++   )    
        {          
          if   (   temp   !=   -1)    
          {  
            rand   =new   Random(i*temp*unchecked((int)DateTime.Now.Ticks));  
          }          
          //int   t   =     rand.Next(35)   ;  
          int   t=rand.Next(35);  
          if   (temp   !=   -1   &&   temp   ==   t)    
          {  
            return   RndNum(   VcodeNum   );  
          }  
          temp   =   t     ;  
          VNum   +=   VcArray[t];  
   
        }  
        return   VNum   ;  
      }  
  -----------------------------------end--------------------------------------------  
   
  下面是Login.Aspx在在调用提交按钮的响应事件中  
  public   void   doit(object   sender,   System.EventArgs   e)  
      {  
        if(Page.IsValid)  
        {  
             
          string   VNum;  
          VNum=Session["VNum"].ToString();                  
          ViewState["VNum"]=VNum;  
          if(this.Vcode.Text==ViewState["VNum"].ToString())  
          {    
   
            Hover.Manage.CheckLogin   obj=new   Hover.Manage.CheckLogin();  
            string   name=username.Text;  
            string   password=FormsAuthentication.HashPasswordForStoringInConfigFile(pass.Text.ToString(),"md5");  
            if(!obj.checklogin(name,password))  
            {  
              Response.Redirect("../Error.aspx?action=Errorlogin");  
              Response.End();  
              return;  
            }  
            else  
            {  
              Session.Add("adminname",name);  
              Session.Add("adminpass",password);  
              Response.Redirect("Default.aspx");  
              Response.End();  
              return;  
            }  
             
          }  
          else  
          {  
            Response.Write("<script>alert(\"请输入正确的附加码!\");</script>");  
          }  
        }  
      }  
        如果提交过来的验证字符串正确就验证是否是合法用户!  
  否则弹出提示返回登陆页!你也可以简化此页!  
        if(this.Vcode.Text==ViewState["VNum"].ToString())  
          {    
                  Response.Write("验证码正确");  
          }  
        else  
          {  
                  Response.Write("验证码错误!");  
          }  
  Top

4 楼yyne(一步一个脚印往上爬)回复于 2005-01-31 04:18:59 得分 5

http://www.codeproject.com/aspnet/CaptchaImage.asp  
   
  http://blog.csdn.net/laojievip/archive/2004/10/22/146781.aspx  
  这上面有详细说明和方法,对你思路肯定有帮助  
   
  Preventing   Automated   Web   Site   Registrations:  
   
  http://www.dotnetbips.com/displayarticle.aspx?id=275Top

相关问题

  • 拯救菜鸟?用户登录系统
  • 用户登录?
  • 使用cookie限制未登录用户直接进入系统
  • 问一个用户系统登录的问题
  • win2003系统是否可以查到用户登录的日志???
  • oracle 用户登录?
  • 帮个忙,用CGI写一个简单的用户登录系统!
  • 关于java web系统的用户登录,密码验证的问题。。。
  • user组的用户登录系统,启动瑞星失败!NTFS格式
  • 如何设置系统的提示用户重新登录的间隔时间?

关键词

得分解答快速导航

  • 帖主:alangfl
  • yyne
  • yyne

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo