Я пытаюсь авторизоваться с помощью web.config.В моей регистрации пользователя он не использует конфигурацию ASP.NET.Я обрабатываю страницу входа с базой данных.Я хочу защитить страницу администратора как ручную ввод адреса от других людей.Я поместил этот код в Web.config.
//Web.config
<location path="Product">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
Когда администратор входит на веб-сайт с домашней страницы, на которой есть частичная страница входа, он получит userName и admin независимо от того, является ли он ложным или истинным по базе.
[HttpPost]
public ActionResult Index(Customer model)
{
if (ModelState.IsValid)
{
//define user whether admin or customer
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["rentalDB"].ToString());
String find_admin_query = "SELECT admin FROM Customer WHERE userName = '" + model.userName + "' AND admin ='true'";
SqlCommand cmd = new SqlCommand(find_admin_query, conn);
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader();
//it defines admin which is true or false
model.admin = sdr.HasRows;
conn.Close();
//if admin is logged in
if (model.admin == true) {
if (DAL.UserIsVaild(model.userName, model.password))
{
FormsAuthentication.SetAuthCookie(model.userName, true);
return RedirectToAction("Index", "Product");
}
}
//if customer is logged in
if (model.admin == false) {
if (DAL.UserIsVaild(model.userName, model.password))
{
FormsAuthentication.SetAuthCookie(model.userName, true);
return RedirectToAction("Index", "Home");
}
}
ModelState.AddModelError("", "The user name or password is incorrect.");
}
// If we got this far, something failed, redisplay form
return View(model);
}
Тогда у меня вопрос, как я могу определить пользователя с помощью web.config вместо "*", например, используя model.userName или model.admin?Не могли бы вы сказать мне, как определить пользователей?спасибо.