Как отобразить имя и изображение пользователя 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
У вас нет никакого кода, устанавливающего изображение или имя пользователя.
Richard Deeming
НИКОГДА храните пароли в виде обычного текста.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - делаем это правильно[^]
Gatsby29
Я просто пытаюсь отобразить пользовательские данные из базы данных, обычно я использую хэш.
Richard Deeming
И почему вы заново изобретаете колесо? ASP.NET имеет несколько совершенно хороших встроенных систем аутентификации - например, Личность ASP.NET [^]