想通过登录按钮写代码, 实现权限验证,用IF...ELSE语句,不同权限进入不同页面

问题描述

想通过登录按钮写代码,实现权限验证,用IF...ELSE语句,不同权限进入不同页面,Authority=1,进入IN.aspx,Authority=2,进入OUT.aspx,Authority=3,进入SAVE.aspx.Authority为数据表Administrator中的字段值,SQL数据库已连接,不知道怎么写代码,求大神指点,菜鸟谢过!!!按钮目前只能实现登陆,代码如下,求补充protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionconn=newSqlConnection();conn.ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString();conn.Open();SqlCommandcom=newSqlCommand("select*fromAdministratorwhereUserName='"+TextBox1.Text.ToString()+"'andPassWord='"+TextBox2.Text.ToString()+"'",conn);SqlDataReaderdr=com.ExecuteReader();if(dr.Read()){dr.Close();Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('登录成功!')",true);Session["UserName"]=TextBox1.Text.ToString();Response.Redirect("OUT.aspx");}else{dr.Close();Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('用户名或密码错误!')",true);TextBox1.Text="";TextBox2.Text="";}}

解决方案

解决方案二:
Administrator表中应该有Role吧,然后从SqlDataReader中把Role的值读出来,就可以判断了。可以这么读取:if(rdr.Read()){//gettheresultsofeachcolumnstringcontact=(string)rdr["ContactName"];stringcompany=(string)rdr["CompanyName"];stringcity=(string)rdr["City"];//printouttheresultsConsole.Write("{0,-25}",contact);Console.Write("{0,-20}",city);Console.Write("{0,-25}",company);Console.WriteLine();}最后记得close
解决方案三:
先验证账号密码是否正确,不正确直接报账号密码错误,正确的话再判断Authority字段的值,各自进入各自的页面,其实你思路都那么清晰,怎么会做不出?还有你验证账号密码的时候,直接把整行数据都取出来(取不到值侧账号密码错误),这样就有Authority的值了
解决方案四:
51aspx有现成的通用权限管理系统,下载一个配置一下就可以了一般权限控制的思想是建立角色,不同角色对应不同的权限,根据权限加载功能页面地址存放在功能表中,打开页面时判断SESSION中是否有值,没有说明用户没有登录不允许查看
解决方案五:
如果是CS程序,就是通过反射,将功能表的命名空间字符串反射为对象
解决方案六:
各位大神帮忙看看,真心不太会,求赐代码!!!急急急!!!protectedvoidButton1_Click(objectsender,EventArgse){SqlConnectionconn=newSqlConnection();conn.ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["conn"].ToString();conn.Open();SqlCommandcom=newSqlCommand("select*fromAdministratorwhereUserName='"+TextBox1.Text.ToString()+"'andPassWord='"+TextBox2.Text.ToString()+"'",conn);SqlDataReaderdr=com.ExecuteReader();if(dr.Read()){dr.Close();if(Session["Authority"].ToString()!="1"){Response.Redirect("IN.aspx");}elseif(Session["Authority"].ToString()!="2"){Response.Redirect("OUT.aspx");}else{Response.Redirect("SAVE.aspx");}Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('登录成功!')",true);}else{dr.Close();Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"sd","alert('用户名或密码错误!')",true);TextBox1.Text="";TextBox2.Text="";}错误信息异常详细信息:System.NullReferenceException:未将对象引用设置到对象的实例。源错误:行27:dr.Close();行28:行29:if(Session["Authority"].ToString()!="1")行30:{Response.Redirect("IN.aspx");}行31:elseif(Session["Authority"].ToString()!="2")源文件:d:WebSiteLogin.aspx.cs行:29堆栈跟踪:[NullReferenceException:未将对象引用设置到对象的实例。]Login.Button1_Click(Objectsender,EventArgse)ind:WebSiteLogin.aspx.cs:29System.Web.UI.WebControls.Button.OnClick(EventArgse)+109System.Web.UI.WebControls.Button.RaisePostBackEvent(StringeventArgument)+103System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(StringeventArgument)+10System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandlersourceControl,StringeventArgument)+13System.Web.UI.Page.RaisePostBackEvent(NameValueCollectionpostData)+31System.Web.UI.Page.ProcessRequestMain(BooleanincludeStagesBeforeAsyncPoint,BooleanincludeStagesAfterAsyncPoint)+3464
解决方案七:
加断点Debug模式下一行一行代码的调试吧

时间: 2024-10-11 08:25:26

想通过登录按钮写代码, 实现权限验证,用IF...ELSE语句,不同权限进入不同页面的相关文章

springmvc+mybatis实现权限验证

问题描述 springmvc+mybatis实现权限验证 使用mybatis和springmvc做权限验证的思路是啥啊 解决方案 SpringMVC实现注解式权限验证SpringMVC 实现注解式权限验证SpringMVC(9)实现注解式权限验证 解决方案二: spring security 看看

你想知道天天写代码的那群人的密码是什么样的吗?

简评:密码这个东西,往往有明显的职业特点,显然么除了程序员一般很少有人会用二进制或者ASCII码做密码吧,而且程序员还有各种解析密码的方式,甚至对于他们而言密码可以是命令行指令或者是把中国古代的诗句变成你根本看不懂的代码,想知道天天写代码的那群人的密码究竟是什么样的呢,那就来看看吧. 程序员的密码设置情况 1.大约45%的密码全部是数字,只有12%的用户使用全部不是数字的密码,看来大家对数字的青睐程度要高得多. 2.大约5%的用户登录名与密码完全相同,无语了,懒人可不算少. 3.密码字符中重复1

【求助】怎么写清空按钮的代码,新人第一次接触,急用。

问题描述 [求助]怎么写清空按钮的代码,新人第一次接触,急用.C#windows应用程序1,点清空按钮就把前面已选的8个勾√全部清空..2,关闭界面后,能保留已打勾的选项和已选择的日期,下次打开界面时能显示上次关闭前打钩的选项和日期第一次接触,不懂写这代码但是又急需用这界面,代码如下,谁能帮我写下上面2个问题的代码啊先谢谢了C#windows应用程序界面如图:代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentM

js-点击这三个按钮可以跳出对话框 求大神告诉怎么写代码

问题描述 点击这三个按钮可以跳出对话框 求大神告诉怎么写代码 点击更多,可以跳出下面的更多内容,最好是下拉形态的,里面的字段是数据库里的 求大神看看怎么写 解决方案 你是要找人代做课程设计吗?你还是多看看课本吧! 解决方案二: 自己研究easyui这个jquery框架,有空间满足你的要求 第一个用detailview,其他2个dialog 解决方案三: 同意楼上说的,用easyui,列表的话可以用datagrid,最后操作那一列可以用代码拼接html字符串,在传回给页面. 另一种方式是用form

想要少写代码,就多花点时间思考

我曾经在我的微博上说过这样一段话 ,而我想在这里把我的这个观点描述地更加完整一些. @左耳朵耗子 :聪明的程序员会使用50%-70%的时间用来思考,用来尝试和权衡各种设计和实现,然后她们用30% – 50%的时间是在忙碌着编码,调试还有测试.而聪明的老板也会鼓励团队这样做.但是傻逼的老板,苦逼的程序员却会拿出来100%-150%的时间来忙着赶进度,返工,重构,还有fix 大量的bug--所以, 越差的团队只会越忙,甚至还忙不完他们的工作. 而在现在这个浮躁的时期,再加上敏捷咨询师们这群人念的歪经

您好!我现在想C#实现多个窗体背景图片同时更换该怎么写代码?

问题描述 您好!我现在想C#实现多个窗体背景图片同时更换该怎么写代码? public void pifu() { string tupian = comboBox1.Text; if (tupian == "1") { this.BackgroundImage = Image.FromFile(@"11.jpg"); return; } if (tupian == "2") { this.BackgroundImage = Image.FromF

c++-今天写代码给360安全浏览器窗口发消WM_CLOSE息竟然它不睬我,想问问大神怎么回事?

问题描述 今天写代码给360安全浏览器窗口发消WM_CLOSE息竟然它不睬我,想问问大神怎么回事? 想想这种情况应该是不可能的,浏览器在windows系统下运作可以不听操作系统的命令?怎么可能,只可能我获得的东西不正确 void CtestDlg::OnBnClickedButton1() { // TODO: Add your control notification handler code here STARTUPINFO suInfo; PROCESS_INFORMATION procI

mfc入门-如何在mfc中写代码使相对应的按钮实现代码的功能

问题描述 如何在mfc中写代码使相对应的按钮实现代码的功能 如何在mfc中写代码使相对应的按钮实现代码的功能 解决方案 双击按钮,会自动产生一个处理函数,或者按ctrl+w,调出classwizard,下拉选择控件,右边选择处理的消息.最后确定,编写代码. 解决方案二: 我写的MFC代码 解决方案三: 你直接双击资源中的按钮,编译器就会帮你生成对应的按钮响应函数,你就可以更改了 还可以对比源代码前后,知道编译器帮你自动生了那些代码.

用户权限登录按钮不可见就是不能实现 为什么啊 快急死了

问题描述 权限表如下IDsysuserpasswordsave_1calculate_1input_11001abc1112002bac1103003cab1004004cba000(其中save_1calculate_1input_1表示主窗体中的按钮,0或1表示能用与否)privatevoidbutton1_Click(objectsender,EventArgse)//登录按钮{LinkDataBase.Open();stringusername=this.textBox1.Text;st