我正在使用asp.net,vb.net和sql-server。
我有一个名为“Login”的表,其中包含用户名,密码和类型。 根据类型,将发生页面重定向。
我的系统有管理员,学生和讲师。每个人都有自己的页面和控件。
如何根据用户名从表中获取类型(当用户输入用户名并点击登录时,我会从文本框中获取该类型?)
由于
答案 0 :(得分:3)
验证密码&使用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
}
答案 1 :(得分:0)
您可以在表格中有一个字段,用于存储名为 UserType 的用户详细信息 因此,当一个人从您的登录页面登录时,您只需要获得此值。然后你可以使用switch case重定向到不同的页面。
答案 2 :(得分:0)
查询可能如下所示:
SELECT
UserType
FROM
Login
WHERE
username = @your_username
您可以将它放在函数或存储过程中,并在提供参数时从app调用它。
答案 3 :(得分:0)
您需要在RecordSet
页面中创建ASP.NET
对象。
使用查询打开此记录集:
SELECT username,
password,
type
FROM login
WHERE userid = @yourUserID
AND password = @yourUserPassword
然后使用ASP.NET
列上的SWITCH CASE
结构检查您的TYPE
页面。