Я новичок в 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 или недостаток информации.