asp.net用户登录判断

问题描述

怎么利用单选框在登录判断是用户名还是身份证的代码。急急急!

解决方案

解决方案二:
前台radiobutton设置2个不同的值,后台取出radiobutton的选中值,比对,做判断
解决方案三:
用正则表达式~
解决方案四:
StringstrSQL="SELECT*FROM表名wherepassword=@password";if(this.CBUserName.Checked){//用户名被选中strSQL+="andusername=@value";}else{strSQL+="andidno=@value";}
解决方案五:
引用1楼wamlko的回复:

前台radiobutton设置2个不同的值,后台取出radiobutton的选中值,比对,做判断

if(RadioButton_Uid.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwhereuid='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["uid"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}elseif(RadioButton_IdCard.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["contacts_idcard"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}这样对吗?
解决方案六:
引用1楼wamlko的回复:

前台radiobutton设置2个不同的值,后台取出radiobutton的选中值,比对,做判断

就是这样的
解决方案七:
引用4楼zheng_09721的回复:

Quote: 引用1楼wamlko的回复:
前台radiobutton设置2个不同的值,后台取出radiobutton的选中值,比对,做判断

if(RadioButton_Uid.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwhereuid='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["uid"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}elseif(RadioButton_IdCard.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["contacts_idcard"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}这样对吗?

首先这两个radiobutton要绑定在一个组里面,然后就是你这个方式了,顺便说一句,你这个代码人家用SQL注入攻击你就挂了
解决方案八:
在aspx中设置RadioButton1,想要单选效果,必须把GroupName设置成一样的。不然跟多选没区别。在后台再设置Button1_Click事件。
解决方案九:
引用4楼zheng_09721的回复:

Quote: 引用1楼wamlko的回复:
前台radiobutton设置2个不同的值,后台取出radiobutton的选中值,比对,做判断

if(RadioButton_Uid.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwhereuid='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["uid"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}elseif(RadioButton_IdCard.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["contacts_idcard"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}这样对吗?

SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){if(RadioButton_Uid.Checked==true){Session["contacts_idcard"]=TextBox_Uid.Text;}else{Session["pwd"]=TextBox_Pwd.Text;}Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");这样是不是更好?
解决方案十:
SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){if(RadioButton_Uid.Checked==true){Session["uid"]=TextBox_Uid.Text;}else{Session["contacts_idcard"]=TextBox_Uid.Text;}Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");
解决方案十一:
引用6楼showyusy的回复:

Quote: 引用4楼zheng_09721的回复:
Quote: 引用1楼wamlko的回复:
前台radiobutton设置2个不同的值,后台取出radiobutton的选中值,比对,做判断

if(RadioButton_Uid.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwhereuid='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["uid"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}elseif(RadioButton_IdCard.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["contacts_idcard"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}这样对吗?

首先这两个radiobutton要绑定在一个组里面,然后就是你这个方式了,顺便说一句,你这个代码人家用SQL注入攻击你就挂了

SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){if(RadioButton_Uid.Checked==true){Session["uid"]=TextBox_Uid.Text;}else{Session["contacts_idcard"]=TextBox_Uid.Text;}Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");这样会不会挂
解决方案十二:
引用10楼zheng_09721的回复:

Quote: 引用6楼showyusy的回复:
Quote: 引用4楼zheng_09721的回复:
Quote: 引用1楼wamlko的回复:
前台radiobutton设置2个不同的值,后台取出radiobutton的选中值,比对,做判断

if(RadioButton_Uid.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwhereuid='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["uid"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}elseif(RadioButton_IdCard.Checked==true){SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){Session["contacts_idcard"]=TextBox_Uid.Text;Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");}else{Label1.Text="用户名或密码错误,请重新输入!";}}这样对吗?

首先这两个radiobutton要绑定在一个组里面,然后就是你这个方式了,顺便说一句,你这个代码人家用SQL注入攻击你就挂了

SqlConnectioncn=newSqlConnection("DataSource=.;InitialCatalog=zyz;IntegratedSecurity=True");cn.Open();SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);SqlDataAdapteradapter=newSqlDataAdapter(cmd);DataSetds=newDataSet();adapter.Fill(ds,"cc");cn.Close();if(ds.Tables["cc"].Rows.Count==1){if(RadioButton_Uid.Checked==true){Session["uid"]=TextBox_Uid.Text;}else{Session["contacts_idcard"]=TextBox_Uid.Text;}Session["pwd"]=TextBox_Pwd.Text;Session["org_user"]="cg";Response.Redirect("ActivityList.aspx");这样会不会挂

一样的,人家一旦发动SQL注入攻击你就挂了。SqlCommandcmd=newSqlCommand("select*fromorg_userwherecontacts_idcard='"+TextBox_Uid.Text+"'andpwd='"+TextBox_Pwd.Text+"'",cn);这一句里面的TextBox_Uid.Text和TextBox_Pwd.Text就是攻击源,你把文本框里面的东西直接给发往数据库查询了,人家在那里面写攻击代码你就挂了。
解决方案十三:
不用RadioButton就可以,后台用正则表达式判断。现在好多网站网站登录用户名一栏都是即可以输入邮箱又可输入手机号、昵称之类的,人家也没用RadioButton啊。这里就该正则表达式发威了...........
解决方案十四:
全服务器端控件,有必要这么纠结么。

时间: 2024-11-09 00:30:32

asp.net用户登录判断的相关文章

用户控件用户登录判断

使用用户控件wheLogined.ascx,代码如下:namespace HEZjs.WebForm.modules.ascx{ using System; using System.Data; using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; /// <summary> /// modWheLogined 的摘要说明. /// &

图文演示Flash+ASP实现用户登录/注册程序第1/2页_Flash As

Flash一帧可以完成.asp也可以一个文件完成,这里我将用户登录和用户注册分为两步做,方便大家理解,Flash分两帧,asp分两个文件. 准备: Flash8 , IIS ,Miscrosoft Access 2003; 开始: 数据库中: 用设计视图新建一个名为 UserTable 的表,三个字段分别为 id 为自动编号,username为文本,password为文本;输入一条数据 username 和 password 都为chooseflash; 如图: Flash中: 新建文件命名为l

ASP.NET用户登录模块代码

    1.验证用户登录:    public static bool ValidateUser(string UserName,string UserPwd)    {        bool Flage = false;        string procname = "dbo.ValidateUse";        SqlParameter[] prams =       {                new SqlParameter("@UserName&qu

ASP 根据用户权限判断显示的列标题_应用技巧

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse:collapse" bordercolor="#6699CC" width="700" align="center"> <tr> <td height="25" backgr

Asp.Mvc 2.0实现用户登录与注销功能实例讲解(2)_实用技巧

这一节讲解下ASP.MVC 2.0的用户登录与注销功能,先讲登录,后说注销.我们这个系列讲的用户登录方式都是FORM表单验证方式.在讲之前先给大家说下<%:%>的功能,<%:%>与<%=%>功能一样,用来动态输出内容.一.登录1. 建立MODEL 登录的时候,我们一般只要验证用户名和密码,还有是否保存登录COOKIE,所以我们建立一个MODEL登录类,只需包括3个字段就可以. /// <summary> /// 用户登录MODEL /// </summ

ASP用户登录代码

asp+access用户登录代码,an.mdb数据库名 fd表名 y_username用户名字段,y_password密码字段. loginnew.asp网页 <% dim username,password    username=request.form("username")  password=request.form("password")  set rs=server.createobject("adodb.recordset"

asp用户登录,退出登录函数

<!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> <meta http-equiv="content-

ASP.NET使用Session判断用户是否登录

ASP.NET使用Session判断用户是否登录 以下是引用片段:if (bResult == true)   //登录的用户名和密码正确     { //保存登录的用户名 Session["LoginUser"] = FormatString.Replace(txtLoginUser.Text);  //这里就是给session赋值了.我对登录用户进行了一些安全处理 //转到管理首页        Response.Redirect("Admin_Index.Aspx&qu

asp.net现在最流行高效的单用户登录是怎么做的?还是application吗

问题描述 asp.net现在最流行高效的单用户登录是怎么做的?还是application吗 现在要做单用户登录,即一个账户在A登录后,然后B登录该账户,A显示被挤掉并返回登录页 解决方案 不建议用application,本质上application起到了我说的数据库的作用.但是考虑到asp.net进程回收,以及横向扩展的需要,放数据库比较好. 解决方案二: 这个最简单的就是每次登录产生一个随机数放在session中,同时放在用户表中.判断登录的时候判断两者是否一致. 因为后面的人一登录,肯定数据