возврат RedirectToAction не работает - PullRequest
0 голосов
/ 19 февраля 2020

enter image description here

Я уже просто проверяю имя и пароль (= true)

При возврате RedirectToAction ("Index", "Home"); ---> не работает

Я не знаю, что случилось! Нет ошибок показать

Пожалуйста, помогите .. Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

Это , вероятно, .

Однако, скорее всего, у вас активирована аутентификация Cook ie или аналогичная, что означает, что MVC перенаправит пользователя обратно на страницу входа в систему, так как не удается найти Cook аутентификации ie.

Перед возвратом перенаправления вы должны создать повара ie.

Как это сделать, зависит от того, какую версию MVC вы используете.

Вот для MVC5: Как установить Auth cook ie в asp. net 5

Добавить следующее перед return RedirectToAction("Index", "Home");

   // Which claims depends on what kind of information you want to store about the user
   var claims = new[] { new Claim(ClaimTypes.Name, name) };
    var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
    Context.Authentication.SignIn(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(identity));

И ASP. NET Core MVC Пример доступен здесь: https://docs.microsoft.com/en-us/aspnet/core/security/authentication/cookie?view=aspnetcore-3.1

0 голосов
/ 19 февраля 2020

Попробуйте следующим образом:

LoginController.cs


using System.Data.Odbc;
using System.Web.Configuration;

        public ActionResult LoginReadData()
        {
            string query = "Select * from login where name=@name and password=@password";

            //using (OdbcConnection connection = new OdbcConnection(ConfigurationManager.ConnectionStrings["cnn"].ConnectionString))
                OR
            using (OdbcConnection connection = new OdbcConnection("Your Connection String")) //here you need to add connection 
            {
                OdbcCommand command = new OdbcCommand(query, connection);

                connection.Open();

                OdbcDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    string name = reader[0].ToString();
                    string password = reader[1].ToString();

                    if (name != null && password != null)
                    {
                        return RedirectToAction("Index", "Home");
                    }
                    else
                    {
                        return View("Create", "Registration");
                    }
                }
                reader.Close();
            }
            return View();
        }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...