首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查连接用户的IP地址并与数据库进行比较

检查连接用户的IP地址并与数据库进行比较
EN

Stack Overflow用户
提问于 2014-04-23 15:54:41
回答 1查看 85关注 0票数 0

我试图在登录时检查用户存储的IP地址,并与数据库中存储的IP地址进行比较。IP地址存储在默认aspnetdb的注释列中。

即使IP地址相同,用户每次连接时都会发送电子邮件。我只想在IP地址与存储地址不同的情况下发送电子邮件。

代码语言:javascript
运行
复制
    Protected Sub LoginUser_LoggingIn(sender As Object, e As System.Web.UI.WebControls.LoginCancelEventArgs) Handles LoginUser.LoggingIn

    Dim CurrentUser As MembershipUser = Membership.GetUser(LoginUser.UserName)

    If (CurrentUser IsNot Nothing) Then

        Dim IPAddress As String = HttpContext.Current.Request.UserHostAddress

        Dim CurrentIP As String = CurrentUser.Comment

        If (IPAddress IsNot CurrentIP) Then

            Dim IP_Change As New Thread(
                Sub()
                    Dim mailObject As New System.Net.Mail.MailMessage()
                    Dim emailCredentials As New System.Net.NetworkCredential("my@domain.com", "password")

                    mailObject.Subject = "User " & CurrentUser.ToString & " is connecting from a new IP Address ( " & IPAddress & " )"
                    mailObject.Body = "User is connecting from a new IP Address"

                    mailObject.To.Add("my@email.com")
                    mailObject.From = New System.Net.Mail.MailAddress("my@domain.com")
                    mailObject.IsBodyHtml = True

                    Dim SmtpMail As New System.Net.Mail.SmtpClient("my.domain.com")
                    SmtpMail.UseDefaultCredentials = False
                    SmtpMail.EnableSsl = False
                    SmtpMail.Credentials = emailCredentials
                    SmtpMail.Port = 587
                    SmtpMail.Send(mailObject)
                End Sub
            )
            IP_Change.Start()

            CurrentUser.Comment = IPAddress
            Membership.UpdateUser(CurrentUser)

        End If

    End If

End Sub
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-23 16:02:12

由于引用比较,您似乎遇到了与IsNot行为不一致的情况。

将您的比较更改为这样的内容:If (IPAddress <> CurrentIP) Then和它应该能工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23249493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档