我正在使用 asp.net、vb.net 和 sql-server。
我有一个名为“登录”的表,其中包含用户名、密码和类型。根据类型,将发生页面重定向。
我的系统有管理员、学生和讲师。每个人都有自己的页面和控件。
如何根据用户名从表中获取类型(当用户键入并单击登录时,我将从文本框中获取类型)?
谢谢
使用 SQL 查询验证密码并从数据库中获取类型。就像是
select username,user_type from myTable where username='john' AND password='abc';
现在在您的登录页面上,您可以通过数据层获取类型值并根据用户的角色将用户重定向到页面。这很粗糙,但你明白了
string user_type, string userName;
//Execute data reader
if(myReader.Read())
{
userName= myReader[0].ToString(); // you can also make a class
userType=myReader[1].ToString(); // you can also store these values in Session
}
// Close connection etc.
switch (userType)
{
case "admin":
Response.Redirect("~/admin/Default.aspx"); break;
case "user":
Response.Redirect("~/public/Default.aspx"); break;
case default:
// Redirect to your default page for default user
}
查询可能如下所示:
SELECT
UserType
FROM
Login
WHERE
username = @your_username
您可以将其放在函数或存储过程中,并从应用程序调用它,同时提供参数。
您需要RecordSet
在页面中创建一个对象ASP.NET
。使用查询打开此记录集:
SELECT username,
password,
type
FROM login
WHERE userid = @yourUserID
AND password = @yourUserPassword
然后使用列上的构造签入您的ASP.NET
页面。SWITCH CASE
TYPE
您可以在存储用户详细信息的表中有一个名为UserType的字段。 因此,当有人从您的登录页面登录时,您也只需获取此值。然后您可以使用 switch case 重定向到不同的页面。