Мне нужно создать приложение на основе ролей, в котором у меня есть три роли admin, manager и user. В моем приложении у меня есть три разные папки, в которых я должен проверить эту роль. То, что я хочу, - это когда я вводим учетные данные на моей странице входа в систему, сначала он проверяет, разрешен ли пользователь или нет, а затем не перенаправляется на страницу с ошибкой. Если это разрешено, проверьте его роли и укажите доступ к указанной папке.авторизация на основе ролей с аутентификацией окна в 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 у меня есть таблицы, которые имеют логин
- Идентификатор_пользователя
- UserName
- Пароль
- Идентификатор роли
какие изменения я должен сделать в моем файле web.config. какое изменение я должен сделать на своей странице входа, чтобы проверить роль. Думаю, мой вопрос ясен вам, ребята.
Заранее спасибо
Есть так много проблем с этим кодом, я не знаю, с чего начать. Я бы разобрал это, прежде чем переходить к проверке роли, чтобы быть честным. ДЕЙСТВИТЕЛЬНО хотите, чтобы вы строили SqlConnections в кодировке страниц ... ответ определенно не является BTW, вам также необходимо прочитать об атаках Sql Injection в первом случае. – Jammer
@Jammer так что вы предлагаете sqlinjection и что еще? – amitesh
Архитектура N-уровня, шаблон репозитория, EntityFramework, поставщик роли SQL. Список бесконечен. Если бы я пересмотрел этот код в своей команде, он был бы полностью отвергнут, как не подходящий для цели. Вы уже много сделали? – Jammer