簡體   English   中英

asp.net中具有窗口身份驗證的基於角色的授權

[英]role based authorization with window authentication in asp.net

我必須創建一個基於角色的應用程序,其中我具有三個角色admin,manager和user。 在我的應用程序中,我有三個不同的文件夾,在其中必須檢查那些角色。 我想要的是,當我首先在登錄頁面中輸入憑據時,它將檢查用戶是否被授權,如果沒有,則重定向到錯誤頁面。 如果獲得授權,則檢查其角色並授予對指定文件夾的訪問權限。

這是我的登錄頁面代碼:

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我有表登錄

  • 用戶身份
  • 用戶名
  • 密碼
  • 角色ID

我必須在我的web.config文件中進行哪些更改。 我必須在登錄頁面中進行哪些更改才能檢查角色。 我想我的問題對你們很清楚。

提前致謝

正如我在上面的評論中說的那樣,我不會將此代碼接受到我正在管理的項目中,並且您應該非常小心如何在應用程序中實現用戶身份驗證。 我將從在MSDN上充分閱讀此文檔開始:

安全基礎知識和ASP.NET支持

表單認證概述

表單身份驗證配置和高級主題

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

使用表單身份驗證對用戶進行身份驗證

這里有很多內容,但通讀這些內容將為您提供一個良好的起點。

即使您想使用Windows身份驗證,我仍然會閱讀上面的鏈接文章,因為它們將為您提供有關身份驗證一般工作方式的許多有用信息。 要將Windows身份驗證與ASP.NET結合使用,請閱讀以下內容:

ASP.NET中的Windows身份驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM