我开发了一个登录页面,它的功能是存储过程。登录部分运行良好,但是,该网站将包含角色,这些角色将确定用户登录到安全部分后被定向到的页面。我在数据库/表中关注的列是: Guid -0 列 Login_name -9th column Login_Pwd -10th column Role_ID -11th column / 包含值 1 或 2
我要做的是:获取登录页面以区分 Role_ID 为 1 的用户和 Role_ID 为 2 的用户。但是,目前,当我登录该页面时,我被定向到 SecurePage .aspx 无论用户拥有什么角色 ID。我可以请教一下这方面的方向吗?
这是我的存储过程:
ALTER PROCEDURE [dbo].[Check_Users]
@Login_name as varchar(100),
@Login_Pwd as varchar(50)
AS
/* SET NOCOUNT ON */
SELECT * FROM SupplierCompany WHERE Login_name=@Login_name AND Login_Pwd=@Login_Pwd
RETURN
这是我的登录按钮背后的代码:
Try
Dim con As New SqlConnection(GetConnectionString())
con.Open()
Dim cmd As New SqlCommand("Check_Users", con)
cmd.CommandType = CommandType.StoredProcedure
Dim p1 As New SqlParameter("Login_name", username.Text)
Dim p2 As New SqlParameter("Login_Pwd", password.Text)
cmd.Parameters.Add(p1)
cmd.Parameters.Add(p2)
Dim rd As SqlDataReader = cmd.ExecuteReader()
If rd.HasRows Then
rd.Read()
lblinfo.Text = "You are Authorized."
FormsAuthentication.RedirectFromLoginPage(username.Text, True)
Response.Redirect("securepages/SecurePage.aspx")
Else
lblinfo.Text = "Invalid username or password."
End If
'check the Role of the usre logging in
While (rd.Read())
Session("numrecord") = rd.GetValue(0).ToString()
rd.GetValue(11).ToString()
If rd.GetValue(11).ToString() = 1 Then
Response.Redirect("securepages/SecurePage.aspx")
ElseIf rd.GetValue(11).ToString() = 2 Then
Response.Redirect("securepages/newShipment.aspx")
End If
End While
Catch
Finally
End Try
..非常感谢任何帮助。