我必須創建一個基於角色的應用程序,其中我有三個角色管理員,經理和用戶。在我的應用程序中,我有三個不同的文件夾,我必須檢查這些角色。我想要的是,當我在登錄頁面輸入憑證時,首先會檢查用戶是否被授權,如果沒有,則重定向到錯誤頁面。如果授權,則檢查其角色並授予對指定文件夾的訪問權限。基於角色的身份驗證與asp.net中的窗口身份驗證
這是我的登錄頁面代碼:
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文件進行。我必須在登錄頁面做什麼更改才能檢查角色。我想我的問題很清楚,你們。
在此先感謝
有這麼多的問題與此代碼,我不知道從哪裏開始。在你開始檢查角色是誠實的之前,我會先解決這個問題。你真的想要在頁面代碼隱藏中構建SqlConnections嗎?答案絕對不是BTW,你還需要在第一個例子中閱讀Sql Injection攻擊。 – Jammer
@Jammer讓你建議sqlinjection和其他? – amitesh
N層體系結構,存儲庫模式,EntityFramework,SQL角色提供程序。名單是無止境的。如果我在我的團隊中查看此代碼,則會被完全拒絕,因爲不適合用途。你之前有過很多發展嗎? – Jammer