两种类型的用户登录到同一个登录表单- ASP.NET

本文关键字:登录 表单 ASP NET 同一个 类型 用户 两种 | 更新日期: 2023-09-27 18:07:53

我正在使用asp.net web应用程序,我在我的网站上有两种类型的用户,每个人都有自己的数据库表:SellerDeliveryMan。我已经分别做了他们(在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;
                }
            }
        }

两种类型的用户登录到同一个登录表单- ASP.NET

如果一个用户可以存在于seller &DeliveryMan表然后

    你应该创建一个用户角色表
  • 你应该询问卖方&DeliveryManwith priority follow high permission

如果用户只存在于seller或DeliveryMan表中,则

  • 你应该检查一个用户是否存在于卖方表
  • 如果用户在卖方表中不存在,则继续检查DeliveryMan
  • 中的存在
  • 如果用户在卖方表中存在,则返回该用户

一种方法是使用一个普通的用户表,将您的登录信息作为userType。一旦他们登录了,您就可以使用用户类型来选择要在哪个表中查找那个人。