日期:2014-05-17  浏览次数:20384 次

关于asp.net 2.0 登录用户-用户权限的问题
Dim showmsg As New alertmessage
  If TB1.Text <> "" And TB2.Text <> "" Then
  m_con.ConnectionString = WebConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString
  If m_con.State = ConnectionState.Closed Then
  m_con.Open()
  End If
  str = "select 密码,权限 from 用户信息表 where 用户名='" & TB1.Text & "'"
  m_cmd.CommandText = str
  m_cmd.Connection = m_con
  m_ada.SelectCommand = m_cmd
  m_ds.Clear()
  m_ada.Fill(m_ds, "用户信息表")

  If m_ds.Tables("用户信息表").Rows.Count <> 0 Then
  Dim 数据密码 As String
  Dim 权限 As String
  数据密码 = m_ds.Tables("用户信息表").Rows(0).Item(0).ToString()
  权限 = m_ds.Tables("用户信息表").Rows(0).Item(1).ToString() Dim md5 As New MD5
  Dim 填写密码 As String = md5.MD5(TB2.Text, 32)
  If 数据密码 = 填写密码 Then
  '通过验证后将用户导向当初Request网页
  FormsAuthentication.RedirectFromLoginPage(TB1.Text, True)
  Else
  showmsg.showMsg(Me.Page, "请输入正确的用户名和密码!") '账号验证不通过时所现实的信息
  TB1.Focus()
  TB1.Text = ""
  TB2.Text = ""
  End If
  Else
  showmsg.showMsg(Me.Page, "此用户名不存在!")
  TB1.Focus()
  TB1.Text = ""
  TB2.Text = ""
  End If
  Else
  If TB1.Text = "" Then
  showmsg.showMsg(Me.Page, "请填写用户名信息!")
  TB1.Focus()
  Else
  showmsg.showMsg(Me.Page, "请填写密码信息!")
  TB2.Focus()
  End If
  End If

  m_con.Close()

以上是我的LOGIN.ASPX页面用户登录时的代码。

我想询问各位大哥的是,如何在其它页面能够读取登录用户的用户权限,谢谢各位大哥了!

------解决方案--------------------
C# code

//登录方法
 public string[] UserLogin(string uname,string upwd)
        {
            try
            {
                SqlParameter[] parmer ={
                                          SqlHelper.CreateCommandParameter("@uname",SqlDbType.VarChar,uname),
                                          SqlHelper.CreateCommandParameter("@upwd",SqlDbType.VarChar,upwd),
                                         
                                      };
                string str = "Select * from users us,TradeUnion Tu where uname=@uname and upwd=@upwd and us.unitid=Tu.tid";
                cmd = SqlHelper.CreateDbCommand(str, conn);
                cmd.Parameters.AddRange(parmer);
                string[] result = new string[3];
                conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    result[0] = dr["qx"].ToString();//权限
                    result[1] = dr["tname"].ToString();//登录名
                    result[2] = dr["unitid"].ToString();//真实姓名
                    dr.Close();
                    return result;//最后接收的时候也用string[]数据接收数据就ok了
                }
                else
                {                    
                    return null;
                }
            }