Аутентифицировать пользователя - PullRequest
0 голосов
/ 19 июня 2020

Я новичок в asp. net и C#, и я работаю над ASP. NET MVC веб-приложением, в котором мне нужно управлять логином пользователя и разными правами в приложение.

Итак, что я сделал до сих пор: у меня есть класс модели для моей модели пользователя:

public class UserModel 
{
    public Int32 ID { get; set; }
    [Display(Prompt = "Username")]
    public string Username { get; set; }
    [Display(Prompt = "Password")]
    public string Password { get; set; }
    public Int32 GroupID { get; set; }
    public string GroupName { get; set; }
    public Boolean GroupAccess { get; set; }

    // CheckUserPassword
}

На мой взгляд, я использую 2 <input> элементов управления для сбора имени пользователя и пароль. У меня есть функция в моей модели для проверки имени пользователя / пароля:

public int CheckUserPassword() 
{
    OracleConnection con = new OracleConnection(GetConString.ConString());
    string query = "select PASSWORD from USERS where USERNAME='" + Username + "'"; 

    OracleCommand cmd = new OracleCommand(query, con);
    con.Open();
    string upass = Convert.ToString(cmd.ExecuteScalar());
    con.Close();

    int i = 0;

    if (Password == upass)
        i = 1;

    return i;
}

И в моем контроллере я вызываю функцию CheckUserPassword(); если пользователь существует, я return View("Index"), иначе я return View("Error").

После того, как пользователь перенаправлен в индекс, он получает представление с его правами доступа. 3-4 других представления и контроллеры.

Поскольку я использую предварительно загруженную базу данных Oracle, я не нашел способа использовать что-то подобное, например Entity Framework.

My вопрос в том, как я могу проверить, аутентифицирован ли пользователь и как сохранить его имя пользователя для использования в будущем из других частей моего приложения?

Заранее спасибо за вашу помощь и извините за мой плохой Engli sh или недостаток информации.

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