Как ограничить вход одного и того же пользователя в другой браузер
Dim _objStudentInfo As StudentInfo = New StudentInfo(Txtuserid.Text, Txtpassword.Text) Session("objStudentInfo") = _objStudentInfo Dim con As SqlConnection con = New SqlConnection("server=***;user id=sa;password=***;database=***") con.Open() Dim cmd As SqlCommand Dim rdr As SqlDataReader cmd = New SqlCommand("select USRMST_USERLOGID,USRMST_PASS from [SYSTEM].[SYSTEM_USER_LOGIN] where USRMST_USERLOGID='" + Txtuserid.Text + "' And USRMST_PASS='" + Txtpassword.Text + "'", con) rdr = cmd.ExecuteReader() While rdr.Read() If rdr("USRMST_USERLOGID").ToString() = Txtuserid.Text AndAlso rdr("USRMST_PASS").ToString() = Txtpassword.Text Then SingleSessionPreparation.CreateAndStoreSessionToken(Txtuserid.Text) Dim sKey As String = Txtuserid.Text + Txtpassword.Text Dim sUser As String = Convert.ToString(Cache(sKey)) If sUser Is Nothing OrElse sUser = [String].Empty Then Dim i = HttpContext.Current.User Dim SessTimeOut As New TimeSpan(0, 0, HttpContext.Current.Session.Timeout, 0, 0) HttpContext.Current.Cache.Insert(sKey, sKey, Nothing, DateTime.MaxValue, SessTimeOut, System.Web.Caching.CacheItemPriority.Normal, Nothing) Dim context As HttpContext = HttpContext.Current Dim page As Page = TryCast(context.Handler, Page) HttpContext.Current.User.Identity.Name.Contains(sKey) page.Session("user") = HttpContext.Current.Session.SessionID ''Session("user") = Txtuserid.Text + Txtpassword.Text ' Let them in - redirect to main page, etc. Response.Redirect("Home.aspx?Uid=" + Txtuserid.Text + "") Else ' cache item exists, so too bad... lblDisplay.Text = "<Marquee><h1><font color=red>Already Logged IN</font></h1></marquee>" Return End If lblDisplay.Text = "Invalid UserName and Password Try Again !!!" End If End While
Что я уже пробовал:
используя этот способ, я ограничил пользователя.
Но я не могу удалить пользователя после входа в систему, он говорит мне, что все готово для входа в систему
F-ES Sitecore
На самом деле это невозможно.
https://forums.asp.net/post/5825784.aspx
Dotnet_Dotnet
сэр
youshouldclearthession
Свойство HttpContext.Сессии.Оставить();
Sinisa Hajnal
Вы должны поместить строку подключения в конфигурационный файл и зашифровать ее.
Кроме того, вы никогда не должны объединять пользовательский ввод в свой SQL. Используйте подготовленные инструкции или хранимые процедуры (SQL-инъекция)
Представьте, что вы вводите имя пользователя (без квадратных скобок): ['; DROP TABLE USRMST_USERLOGID; --]
manoj s sherje
Спасибо за ваш комментарий, но это мой пример кода, моя практика-работа с web.config и хранимыми процедурами.