两种类型的用户登录到同一个登录表单- ASP.NET
本文关键字:登录 表单 ASP NET 同一个 类型 用户 两种 | 更新日期: 2023-09-27 18:07:53
我正在使用asp.net web应用程序,我在我的网站上有两种类型的用户,每个人都有自己的数据库表:Seller
和DeliveryMan
。我已经分别做了他们(在DB)出于某种原因,我需要这样做,所以请不要认为这是一个答案!我已经创建了一个与第一个用户Seller
一起工作的登录表单,但我的问题是如何允许DeliveryMan
以相同的形式登录?
登录表单:
protected void ValidateUser(object sender, AuthenticateEventArgs e)
{
int userId = 0;
string constr = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("Seller_Validate_User"))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Username", Login1.UserName);
cmd.Parameters.AddWithValue("@Password", Login1.Password);
cmd.Connection = con;
con.Open();
userId = Convert.ToInt32(cmd.ExecuteScalar());
con.Close();
}
switch (userId)
{
case -1:
Login1.FailureText = "Username and/or password is incorrect.";
break;
case -2:
Login1.FailureText = "Account has not been activated.";
break;
default:
FormsAuthentication.RedirectFromLoginPage(Login1.UserName, Login1.RememberMeSet);
break;
}
}
}
如果一个用户可以存在于seller &DeliveryMan表然后
- 你应该创建一个用户角色表
- 你应该询问卖方&DeliveryManwith priority follow high permission
如果用户只存在于seller或DeliveryMan表中,则
- 你应该检查一个用户是否存在于卖方表
- 如果用户在卖方表中不存在,则继续检查DeliveryMan 中的存在
- 如果用户在卖方表中存在,则返回该用户
一种方法是使用一个普通的用户表,将您的登录信息作为userType。一旦他们登录了,您就可以使用用户类型来选择要在哪个表中查找那个人。