asp+mysql__不同类型用户登录

未防注入//0.0
/**
*这里代码应用场景为多类用户登录,根据用户选择不同的单选按钮判断用户登录的类型,
*从而进行不同的数据表进行判断,用户的用户名和密码是否正确。
*/
public partial class _Default : System.Web.UI.Page
{
public string USER = "", PASSWORD = "";//过滤用户的输入
public int TYPE = -;//验证用户选择的类型,初始值-1
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
username.Text = "";
password.Text = "";
}
}
protected void Button1_Click(object sender, EventArgs e)//判断用户选择的身份,进行相应的调用函数
{
switch (xz.SelectedValue)
{
case "": login(); break;
case "": login(); break;
case "": login(); break;
}
}
protected void Button2_Click(object sender, EventArgs e) //根据用户选择的身份,跳转到相应的注册页面
{
switch (xz.SelectedValue)
{
case "":Server.Transfer("zhuce.aspx"); break;
case "": Server.Transfer("teachaerzhuce.aspx"); break;
case "": Response.Write("<script>alert('管理员注册未开放!');</script>"); break;
} }
protected void login(int TYPE)//传人用户选择的类型,执行不同的操作
{
string Type = "";
switch (TYPE)
{
case : Type = "同学"; break;
case : Type = "老师"; break;
case : Type = "adminsitrator"; break;
}
USER = username.Text;
PASSWORD = password.Text;
if (yz(TYPE, USER, PASSWORD))//调用yz()函数进行判断
{
if (Type != "adminsitrator")
Response.Write("<script>alert('欢迎 " + Type + " 回家!');</script>");
Session["id"] = USER.ToString() ;
Session["bz"] = "yes";//标志
switch (TYPE)
{
case : Server.Transfer("students.aspx"); break;
case : Server.Transfer("teacher.aspx"); break;
case : Response.Write("<script>alert('Sorry,administrator 回家了!');</script>"); break;
}
}
else
{
Response.Write("<script>alert('sorry,username or password error!');</script>"); } }
protected bool yz(int TYPE, string USER, string PASSWORD)//根据选则的用户身份,进行验证数据库,成功TRUE,失败FALSE
{
string Type = "";
switch (TYPE)
{
case : Type = "stu_"; break;
case : Type = "tea_"; break;
case : Type = "admin_"; break;
}
string sqlstr = "select * from " + Type + " where " + Type + "user='" + USER + "' and " + Type + "pass='" + DB.MD5Encrypt(PASSWORD) + "';";
DB db = new DB();//DB类用来对数据库的操作 MySqlDataReader selectcom = db.Select1(sqlstr);
while (selectcom.Read())
{
return true;
}
return false;
}
}
asp+mysql__不同类型用户登录的更多相关文章
- Asp.Net MVC记住用户登录信息 下次登录无需输入密码
有的时候做网站,就需要记住用户登录信息,下次再登录网站时,不用重复输入用户名和密码,原理是浏览器的cookie把状态给记住了! 那么具体是怎么实现的呢?下面博主将一部分代码贴出来,想要完整版的Demo ...
- ASP.NET 拼多多用户登录授权后使用code去换取access_token
一.拼多多开放平台 由于本人刚毕业进公司实习 遇到一些问题然后想通过博客来记录和分享给大家一起学习. 第一次写博客没什么经验不是写的很好 请大家多多关照 嘴下留情哈哈 谢谢! 好了 话不多说直接进入主 ...
- Asp.net mvc验证用户登录之Forms实现
这里我们采用asp.net mvc 自带的AuthorizeAttribute过滤器验证用户的身份,也可以使用自定义过滤器,步骤都是一样. 第一步:创建asp.net mvc项目, 在项目的App_S ...
- ASP.NET MVC3 实现用户登录验证
自定义一个授权筛选器类,继承于AuthorizeAttribute: using System; using System.Web; using System.Web.Mvc; namespace M ...
- [Asp.Net MVC4]验证用户登录实现
最近我们要做一个仿sina的微博,碰巧的是我最近在学习mvc,就想用mvc技术实现这个项目. 既然是微博,那不用想也应该知道肯定要有用户登陆,但是和常规的asp.net登陆又不一样,以下是我一下午+一 ...
- ASP.NET Core 实现用户登录验证的最低配置
背景是在一个项目中增加临时登录功能,只需验证用户是否登录即可,所需的最低配置与实现代码如下. 在 Startup 的 ConfigureServices() 方法中添加 Authentication ...
- .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息
在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军——将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到 ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 用户部分(2)用户登录、注销
上次实现了用户注册,这次来实现用户登录,用到IAuthenticationManager的SignOut.SignIn方法和基于声明的标识.最后修改用户注册代码实现注册成功后直接登录. 目录: ASP ...
- ASP.net 实现禁止用户重复登录
本文先为大家介绍如何利用缓存Cache方便地实现此功能. Cache与Session这二个状态对像的其中有一个不同之处,Cache是一个全局对象,作用的范围是整个应用程序,所有用户:而Session是 ...
随机推荐
- [转]SpringMVC+Hibernate+Spring 简单的一个整合实例
原文地址:http://langgufu.iteye.com/blog/2088355 下面开始实例,这个实例的需求是对用户信息进行增删改查.首先创建一个web项目test_ssh,目录结构及需要的J ...
- 自定义的ViewGroup中添加自定义View 造成的无法显示问题(个人)
首先说一下我在网上找了很久没有找到说明方法所以我就自己试着写了一下 1.我自定义了一个继承了RelativeLayout的ViewGroup java代码如下: /** * 简单自定义三头像 * @a ...
- python 进程间共享数据 (二)
Python中进程间共享数据,除了基本的queue,pipe和value+array外,还提供了更高层次的封装.使用multiprocessing.Manager可以简单地使用这些高级接口. Mana ...
- Javaweb容器的四种作用域
几乎所有web应用容器都提供了四种类似Map的结构:application session request page,Jsp或者Servlet通过向着这四个对象放入数据,从而实现Jsp和Servlet ...
- HTTP协议学习---(六)缓存
本文介绍浏览器和Web服务器之间如何处理"浏览器缓存",以及控制缓存的http header. 本文会使用Fiddler来查看HTTP request和Response, 如果不熟 ...
- C#版 Socket编程(最简单的Socket通信功能)
示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息:这里只是一个简单的示例,是一个最基本的socket编程流程,在接下来的文章中,会依次记录套接字的同步和异 ...
- ubuntu下编译caffe
Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...
- 【BZOJ-1113】海报PLA 单调栈
1113: [Poi2008]海报PLA Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 896 Solved: 573[Submit][Status ...
- 微软注册dll在dotnet开发时起到缓存的作用
经过试验,我发觉只要是注册了dll之后,会在全局的环境中得到很好的体现,比如无需指定具体物理路径的dll引用,搜索即可引用等,同时也得到一点: 1.会缓存起这个dll先,在不重启电脑的情况,本地物理路 ...
- Android成长日记-Noification实现状态栏通知
Notification可以作为状态栏的通知,实现这个效果需要使用NotificationManager实现控制类,才能实现对这个效果的显示 下面是实现状态栏显示效果的通知: 1. 首先在Layout ...