有两textbox,一为username,一为password,一个button 登陆
目前user表中有LoginID,USBKey,Password,UserType(管理,用户等)四列字段
现在求一份登陆代码
要求可以在username的text空间里可以输入LoginID,也可以输入USBKey
要有验证的那种
万分感谢
目前user表中有LoginID,USBKey,Password,UserType(管理,用户等)四列字段
现在求一份登陆代码
要求可以在username的text空间里可以输入LoginID,也可以输入USBKey
要有验证的那种
万分感谢
解决方案 »
- 请推荐本好的关于.net 分布式开发和.net架构方面的书籍!
- 关于GridView_RowDataBound事件
- java系统跳转到.net系统中怎么处理?
- 关于ASP网站注入问题(附IIS日志)再次先谢谢啦!
- 我的电脑重新装了遍系统,之后我的网页在本机调试出现拉如下问题!在后台登陆后上传文件出现的问题如下!前台可以正常访问,只能读,但不能写入!
- server2003系统给网站配置ip不行
- 老问题:分析器错误信息: 未能加载类型"Aux2004.ucAzdcx"。
- multipage控件如何使用
- 请问如何给Color类型变量赋值
- MVC 使用 UEditor 上传内容和图片
- linq to EF怎么实现in和left join效果。
- js取值问题
<table><tr>
<td align="center" height="30" class="STYLE10">验证码:</td>
<td style="height: 30px; width: 265px;"><input runat=server name="Txt_imgCode" type="text" id="Txt_imgCode" size="5" maxlength="5" tabindex="3"/>
<img id="CodeImg" onclick="this.src='CheckCode.aspx'" src="CheckCode.aspx" />
<input onclick="document.getElementById('CodeImg').src='CheckCode.aspx?tmp='+Math.random()"
type="button" value="看不清,点击换一张" name="Btn_Re" style="color: #ffffcc; border-top-style: none; border-right-style: none; border-left-style: none; background-color: transparent; border-bottom-style: none; width: 117px;" />
</td>
</tr>
</table>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button_Click" />Default.aspx.cs的代码
protected void Button_Click(object sender, EventArgs e)
{
if (Txt_imgCode.Value.Trim() == Session["CheckCode"].ToString())
Response.Redirect("Default.aspx");
else
Response.Write("<script>alert('验证码错误!')</script>");
CheckCode.aspx的代码
<%@ Page language="c#" Inherits="Guestbook.CheckCode" CodeFile="CheckCode.aspx.cs" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>CheckCode</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></HEAD>
<body>
<form id="Form1" method="post" runat="server">
<FONT face="宋体"></FONT>
</form>
</body>
</HTML>
CheckCode.aspx.cs的代码
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace Guestbook
{
/**//// <summary>
/// 页面检查生成的Session["CheckCode"]
/// </summary>
public partial class CheckCode : System.Web.UI.Page
{ protected void Page_Load(object sender, System.EventArgs e)
{
this.CreateCheckCodeImage(GenerateCheckCode());
} private string GenerateCheckCode()
{
int number;
char code;
string checkCode = String.Empty; System.Random random = new Random(); for(int i=0; i<5; i++)
{
number = random.Next(); if(number % 2 == 0)
code = (char)('0' + (char)(number % 10));
else
code = (char)('A' + (char)(number % 26)); checkCode += code.ToString();
} //Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));
Session["CheckCode"]=checkCode;
return checkCode;
} private void CreateCheckCodeImage(string checkCode)
{
if(checkCode == null || checkCode.Trim() == String.Empty)
return; System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
Graphics g = Graphics.FromImage(image); try
{
//生成随机生成器
Random random = new Random(); //清空图片背景色
g.Clear(Color.White); //画图片的背景噪音线
for(int i=0; i<25; i++)
{
int x1 = random.Next(image.Width);
int x2 = random.Next(image.Width);
int y1 = random.Next(image.Height);
int y2 = random.Next(image.Height); g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
} Font font = new System.Drawing.Font("Arial", 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(checkCode, font, brush, 2, 2); //画图片的前景噪音点
for(int i=0; i<100; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next()));
} //画图片的边框线
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}
}
}
网上一搜一大堆。。
登录页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %><%@ Register Assembly="WebValidates" Namespace="WebValidates" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table width="800" height="600" border="0" align="center" background="images/10.bmp">
<tr>
<td align="center">
<table style="width: 565px; height: 184px">
<tr>
<td style="width: 71px; color: #0033ff;" align="center">
登录名:</td>
<td style="width: 100px">
<asp:TextBox ID="txtLoginName" runat="server"></asp:TextBox>
</td>
<td style="width: 100px">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="请输入登录名!"
ControlToValidate="txtLoginName" Width="151px"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td style="width: 71px; color: #0033ff;" align="center">
密 码:</td>
<td style="width: 100px">
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox>
</td>
<td style="width: 100px">
<asp:RequiredFieldValidator ID="rfvPassword" runat="server" ErrorMessage="请输入密码!"
ControlToValidate="txtPassword" Width="149px"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td style="width: 71px; color: #0033ff;" align="center">
验证码:</td>
<td style="width: 100px">
<asp:TextBox ID="txtCode" runat="server"></asp:TextBox>
</td>
<td style="width: 100px">
<cc1:SerialNumber ID="snCode" runat="server">
</cc1:SerialNumber>
</td>
</tr>
<tr>
<td style="width: 71px" align="center">
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/images/btn_login.gif"
OnClick="ImgLogin_Click" /></td>
<td style="width: 100px">
<asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="~/images/az-newuser-gold-3d.gif"
OnClick="ImgReg_Click" CausesValidation="False" /></td>
<td style="width: 100px">
<asp:Label ID="lblMessage" runat="server" ForeColor="Red"></asp:Label>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
cs文件代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
snCode.Create();//创建新验证码
}
}
//登录
protected void ImgLogin_Click(object sender, ImageClickEventArgs e)
{
if (!CheckCode())
{
lblMessage.Text = "验证码错误!";
return;
}
else
{
lblMessage.Text = "";
}
user.LoginName = txtLoginName.Text.Trim();
string pwd = UserManager.SelectUser(user);
if (pwd == "" || string.IsNullOrEmpty(pwd))
{
Response.Write("<script>alert('不存在该用户,请重新登录!')</script>");
return;
}
else
{
if (txtPassword.Text.Trim() != pwd)
{
Response.Write("<script>alert('输入的密码有误,请重新输入!')</script>");
return;
}
else
{
Session["UTypeName"] = UserManager.GetGroupNameByLoginName(txtLoginName.Text.Trim());
string type=Convert.ToString(Session["UTypeName"]);
Session["UserName"] = txtLoginName.Text.Trim();
Response.Write("<script>alert('登录成功!')</script>");
if (type == "管理员")
{
Response.Redirect("FrameClsss.aspx");
}
else
{
Response.Redirect("Main.aspx");
}
//Response.Redirect("FrameClsss.aspx");
}
}
}
//验证方法
public bool CheckCode()
{
if (snCode.CheckSN(txtCode.Text.Trim()))
{
return true;
}
else
{
snCode.Create();
return false;
}
}