Gatsby29 Ответов: 0

Как отобразить имя и изображение пользователя ASP.NET


У меня есть 2 формы 1-я страница входа в систему и вторая домашняя страница, я хочу отобразить имя пользователя и изображение на домашней странице после того, как он успешно войдет в систему.

Что я уже пробовал:

это моя регистрационная форма
protected void ValidateUser(object sender, EventArgs e)
{
    int userId = 0;
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("Validate_User"))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@Username", Login1.UserName);
            cmd.Parameters.AddWithValue("@Password", Login1.Password);
            cmd.Connection = con;
            con.Open();
            userId = Convert.ToInt32(cmd.ExecuteScalar());
            con.Close();
        }
        switch (userId)
        {
            case -1:
                Login1.FailureText = "Username and/or password is incorrect.";
                break;
            case -2:
                Login1.FailureText = "Account has not been activated.";
                break;
            default:
                FormsAuthentication.RedirectFromLoginPage(Login1.UserName, Login1.RememberMeSet);
                break;
        }
    }
}

а это моя домашняя страница
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.Page.User.Identity.IsAuthenticated)
    {
        FormsAuthentication.RedirectToLoginPage();
    }
}

Laxmidhar tatwa technologies

сэр дисплей PL хранимая процедура

Gatsby29

Использовать [зарегистрироваться]
ГО
/****** Объект: StoredProcedure [dbo].[Validate_User] Дата Скрипта: 23.1.2018. 16:58:18 ******/
УСТАНОВИТЕ ANSI_NULLS НА
ГО
УСТАНОВИТЕ QUOTED_IDENTIFIER НА
ГО
Изменить процедуру [dbo].[Validate_User]
@Email NVARCHAR(20),
@Password NVARCHAR(20)
АС
НАЧАТЬ
УСТАНОВИТЕ NOCOUNT ON;
Объявите @UserId INT, @LastLoginDate DATETIME

Выберите @UserId = UserId, @LastLoginDate = LastLoginDate
От пользователей, где Email = @Email и [Password] = @Password

Если @UserId не равен NULL
НАЧАТЬ
Если не существует(выберите UserId из UserActivation, где UserId = @UserId)
НАЧАТЬ
Обновление пользователей
SET LastLoginDate = GETDATE()
Где UserId = @UserId
Выберите @имя пользователя [имя пользователя] -- Пользователь действует
КОНЕЦ
ЕЩЕ
НАЧАТЬ
Выберите -2 -- пользователь не активирован.
КОНЕЦ
КОНЕЦ
ЕЩЕ
НАЧАТЬ
Выберите -1 -- пользователь недействителен.
КОНЕЦ
КОНЕЦ

Shashank Laxman

1)получить изображение
2)преобразуйте его в байтовый массив и сохраните в базе данных.
3)снова считайте изображение из базы данных.

Laxmidhar tatwa technologies

insted of DECLARE @UserId INT, @LastLoginDate DATETIME

Объявить @имя пользователя ИНТ
Объявить @LastLoginDate DATETIME

Laxmidhar tatwa technologies

сэр должен посмотреть и попробовать в моем компьютере .так что я передам позже

спасибо

Gatsby29

Благодарю вас сэр

F-ES Sitecore

Воспользуйся

Страница.Пользователь.Идентичности.Название

чтобы получить имя пользователя пользователя и пользователя, который ищет их данные, фотографии. Если вы хотите, вы можете хранить их идентификатор пользователя вместо пользовательского идентификатора, и это может быть проще работать

http://shawnmclean.com/storing-strongly-typed-object-user-profile-data-in-asp-net-forms-authentication-cookie/

Gatsby29

Спасибо, сэр, я считаю, что это то, что мне нужно, но я новичок в этом, поэтому я точно не знаю, как использовать это на моем примере.

ZurdoDev

У вас нет никакого кода, устанавливающего изображение или имя пользователя.

Gatsby29

Я просто пытаюсь отобразить пользовательские данные из базы данных, обычно я использую хэш.

Richard Deeming

И почему вы заново изобретаете колесо? ASP.NET имеет несколько совершенно хороших встроенных систем аутентификации - например, Личность ASP.NET [^]

0 Ответов