基于角色的授权与窗口身份验证

本文关键字:授权与 窗口 身份验证 角色 于角色 | 更新日期: 2023-09-27 18:14:45

我必须创建一个基于角色的应用程序,其中我有三个角色管理员,经理和用户。在我的应用程序中,我有三个不同的文件夹,我必须检查这些角色。我想要的是当我在我的登录页面首先输入凭据,它会检查用户是否被授权,如果没有,然后重定向到错误页面。如果已授权,则检查其角色并授予对指定文件夹的访问权限。

这是我的登录页面代码:

protected void btnSubmit_Click(object sender, EventArgs e)
{
    String queryread = @"Select * from Login where UserName = '" + tbUserName.Text.ToLower() + "' and Password='"+ tbPassword.Text.ToLower() +"'";
    SqlConnection con = new SqlConnection();
    SqlDataReader read;
    con.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["BartConnectionString"].ConnectionString;
    SqlCommand readdata = new SqlCommand(queryread, con);
    try
    {
        con.Open();
        read = readdata.ExecuteReader();
        Boolean flag = false;
        while (read.Read())
        {
            String UserName = read["UserName"].ToString().ToLower();
            String password = read["Password"].ToString();
            if (tbUserName.Text.ToLower() == UserName)
            {
                if (tbPassword.Text.Trim() == password)
                {
                        Session["UserID"] = UserName.ToString();                            
                        flag = true;   
                }
            }
        }
        if (flag)
        {
            Response.Redirect("~/Supervisor/Form.aspx", false);
        }
        else
        {
            Response.Redirect("~/Error.aspx",false);
        }
    }
    catch (Exception ex2)
        {
            Response.Write("Error");
        }
    finally
        {
        if (con.State == System.Data.ConnectionState.Open)
            con.Close();
        }
    }

这里我检查了用户的授权现在我还想检查这个用户的角色我需要在代码中做哪些修改来检查角色

在我的sql我有表登录,其中有

  • UserID
  • 用户名
  • RoleID

我必须在我的网页上做什么改变。配置文件。我必须在我的登录页面做什么改变来检查角色。我想我的问题你们都明白了。

Thanks in advance

基于角色的授权与窗口身份验证

正如我在上面的评论中所说的,我不会将这些代码接受到我正在管理的项目中,您应该非常小心如何在应用程序中实现用户身份验证。首先,我要在MSDN上好好阅读一下这份文档:

安全基础和ASP。网络支持

表单认证概述

表单认证配置和高级主题

设置好后,您可以查看本文中的角色:

使用表单身份验证验证用户

这里有很多要了解的,但通读这些将为您提供一个良好的基础。

即使你想使用Windows身份验证,我仍然会阅读上面的链接文章,因为它们会给你很多关于身份验证如何工作的有用信息。在ASP中使用Windows身份验证。. NET读取这个:

ASP中的Windows身份验证净