vb.net登錄驗證 net 登錄驗證

VB.NET登陸界面。要驗證登錄用戶名和密碼是否正確。登陸后有管理員和普通用戶權(quán)限判斷。管理員只能登錄一

將用戶名,密碼,用戶類型存在數(shù)據(jù)庫中,登陸時比較輸入的值是否與數(shù)據(jù)庫相同即可。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供平?jīng)鼍W(wǎng)站建設(shè)、平?jīng)鲎鼍W(wǎng)站、平?jīng)鼍W(wǎng)站設(shè)計、平?jīng)鼍W(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、平?jīng)銎髽I(yè)網(wǎng)站模板建站服務(wù),10余年平?jīng)鲎鼍W(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

VB.Net 怎么驗證 SQL2008 數(shù)據(jù)庫的ID與密碼

基礎(chǔ)類庫:

Imports Microsoft.VisualBasic

'執(zhí)行Access語句的封裝類。

Public Class AccessExecClass

Private conn As Data.OleDb.OleDbConnection

Private cmd As Data.OleDb.OleDbCommand

'創(chuàng)建類對象,并連接到數(shù)據(jù)庫。

Sub New()

If openAccess Then

Else

msgbox("open Access Fail.")

End If

End Sub

'創(chuàng)建類對象,并連接到數(shù)據(jù)庫。 '輸入帶目錄名稱的數(shù)據(jù)庫文件名稱:dbFileName,例如:“\DB數(shù)據(jù)庫\企業(yè)數(shù)據(jù)庫.aspx”

Sub New(ByVal dbFileName As String)

If OpenAccess(dbFileName) Then

Else

MsgBox("open Access Fail.")

End If

End Sub

Function OpenAccess() As Boolean

OpenAccess = False

'檢驗用戶的帳號密碼是否正確

Dim provider As String '= ConfigurationManager.ConnectionStrings("ConnectionString").ProviderName

provider = "Provider=Microsoft.Jet.OLEDB.4.0"

Dim database As String

database = "Data Source=" System.Web.HttpContext.Current.Server.MapPath("\數(shù)據(jù)庫.aspx") ";Persist Security Info=true"

conn = New Data.OleDb.OleDbConnection(provider ";" database)

conn.Open()

OpenAccess = True

End Function

Function OpenAccess(ByVal dbFileName As String) As Boolean

OpenAccess = False

'檢驗用戶的帳號密碼是否正確

Dim provider As String '= ConfigurationManager.ConnectionStrings("ConnectionString").ProviderName

provider = "Provider=Microsoft.Jet.OLEDB.4.0"

Dim database As String

database = "Data Source=" System.Web.HttpContext.Current.Server.MapPath(dbFileName) ";Persist Security Info=true"

conn = New Data.OleDb.OleDbConnection(provider ";" database)

conn.Open()

OpenAccess = True

End Function

'關(guān)閉數(shù)據(jù)庫。

Sub CloseAccess()

cmd = Nothing

conn.Close()

End Sub

'執(zhí)行一條Access語句,執(zhí)行成功就返回True。

Function ExecAccessString(ByVal AccessStr As String) As Boolean

cmd = New Data.OleDb.OleDbCommand(AccessStr, conn)

cmd.ExecuteNonQuery()

'Dim aa As Data.OleDb.OleDbDataReader = cmd.ExecuteReader

ExecAccessString = True

End Function

'返回讀取到的數(shù)據(jù),注意是用地址傳遞方式返回

Sub ExecAccessString(ByVal AccessStr As String, ByRef AccessReader As Data.OleDb.OleDbDataReader)

cmd = New Data.OleDb.OleDbCommand(AccessStr, conn)

cmd.ExecuteNonQuery()

AccessReader = cmd.ExecuteReader

End Sub

End Class

登陸代碼:

Protected Sub LinkButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles LinkButton1.Click

Dim wl As New WebLog '用戶登錄記錄開始,僅對購買了Log 功能的用戶,才開放此功能,否則不會實際記錄Log

Dim sql As String

Dim aDB As New AccessExecClass

Dim mypw As String

Label1.Visible = False

Label2.Visible = False

Label3.Visible = False

Label4.Visible = False

'沒有輸入時,不能進(jìn)行登陸

If TextBox1.Text = "" Then

Label1.Visible = True

Return

End If

If TextBox2.Text = "" Then

Label2.Visible = True

Return

End If

If TextBox3.Text = "" Then

Label3.Visible = True

Return

End If

If TextBox3.Text = TextBox4.Text Then

Else

Label3.Visible = True

Return

End If

Dim iRnd As Integer = Rnd(10) * 100

TextBox3.Text = ""

TextBox4.Text = iRnd.ToString

'Dim iRnd As Integer = Rnd(10) * 100

'注意:此處需要加入防止注入分析,包含'的肯定是特別語句,講拒絕.

If TextBox1.Text.IndexOf("'") 0 Or TextBox2.Text.IndexOf("'") 0 Then

TextBox1.Text = "不能輸入非法字符,將強(qiáng)制清空"

TextBox2.Text = ""

Else

Dim pw As New MD5EnCode(13, 19) ' '2次加密

sql = "select 權(quán)限組號,ID , 密碼 from 編輯人數(shù)據(jù) where 編輯姓名='" + TextBox1.Text + "'"

Dim aa As Data.OleDb.OleDbDataReader '= cmd.ExecuteReader

aDB.ExecAccessString(sql, aa)

If aa.Read() Then

'密碼正確()

'sql = aa(2)'需要特別注意:只能單向解密,不能直接轉(zhuǎn)換

mypw = pw.simDeCode(pw.simDeCode(aa(2)))

If TextBox2.Text = mypw Then

Session("LOGIN_Name") = TextBox1.Text '設(shè)置登錄后的用戶名稱

Session("Login_Group") = aa(0) 'cmd.ExecuteScalar '設(shè)置登錄后的權(quán)限級別

Session("Login_ID") = aa(1) 'cmd.ToString

'cmd = Nothing

'conn.Close()

Call wl.NewLog("登錄", "管理員成功登錄")

Response.Redirect("../WebManages/Default.ASPX")

Else

'密碼錯誤()

sql = sql.Replace("'", "【單引號】")

sql = sql.Replace(",", "【逗號】")

Call wl.NewLog("登錄", "管理員失敗的登錄", TextBox1.Text, sql.Replace("""", "【雙引號】"), "")

Label4.Visible = True

End If

Else

'密碼錯誤()

sql = sql.Replace("'", "【單引號】")

sql = sql.Replace(",", "【逗號】")

Call wl.NewLog("登錄", "管理員失敗的登錄", TextBox1.Text, sql.Replace("""", "【雙引號】"), "")

Label4.Visible = True

End If

End If

End Sub

vb.net登陸界面中當(dāng)login驗證后進(jìn)入main窗體時怎樣關(guān)閉login窗體

您可以調(diào)用Me.Hide()方法隱藏Login窗體。

另外,如果您使用新建工程后的那個默認(rèn)窗體作為Login窗體,那么您只能隱藏這個窗體或修改程序的啟動對象。因為VB.net默認(rèn)將創(chuàng)建工程時的那個默認(rèn)窗體作為程序的主窗體,應(yīng)用程序的主消息循環(huán)就建立在這個窗體上,如果您關(guān)閉這個窗體,那么所有的消息泵都會停止,應(yīng)用程序就會退出。

我比較推薦您將Main窗體設(shè)為應(yīng)用程序的主窗體,這樣可以減小資源的占用,當(dāng)Login完成后就可以釋放Login窗體了。

另外,vb.net中的me變量相當(dāng)于C語言中的this指針,它指向當(dāng)前類。

推薦一個網(wǎng)站,這個網(wǎng)站有很多的教程,而且基本都是附部分代碼,可能有一些對您有用的信息。

vb.net如何使用HttpWebRequest模擬登陸帶驗證碼的網(wǎng)站

一般登陸網(wǎng)站時候首先要打開一個網(wǎng)頁對吧?

那首先要 GET 一個網(wǎng)址。GetResponse后,得到的流就是這個頁面的源碼。

源碼里肯定會包含這個驗證碼的提問段(可能是個圖片的網(wǎng)址,也可能是個 5+5=? 之類的字符串之類的),可以分析一下這段代碼出現(xiàn)的位置,讓程序自動尋找。找到這個圖片的網(wǎng)址,把這個圖片 GET 下來,然后,就是orc識別或你人工識別咯。。。

VB.net 如何實現(xiàn)記住密碼 自動登錄

代碼如下:

/// summary

/// 連接到窗體:通過密碼保護(hù)信息找回密碼!

/// /summary

/// param name="sender"/param

/// param name="e"/param

private void lbl_mibao_Click(object sender, EventArgs e)

{

Getbackpwd getbackpwd = new Getbackpwd();

getbackpwd.Show();

}

/// summary

/// 當(dāng)該窗體加載時從xml文件中讀取用戶信息并加載到combox的Items中

/// /summary

/// param name="sender"/param

/// param name="e"/param

private void Addresslist_Load(object sender, EventArgs e)

{

XmlTextReader reader = new XmlTextReader(@"E:\面向?qū)ο?-C#練習(xí)\通訊錄\address list\address list\user.xml");

while (reader.Read())

{

//if (reader.LocalName.Equals("Name") || reader.LocalName.Equals("Number"))

if (reader.LocalName.Equals("username"))

{

this.cmbUserName.Items.Add(reader.ReadString());

}

//if (reader.LocalName.Equals("Number"))

//{

// this.label2.Text += reader.ReadString() + "\n";\

//}

}

reader.Close();

}

/// summary

/// 保存用戶名到user.xml

/// /summary

//在listcontol上更改SelectedValue時執(zhí)行從數(shù)據(jù)庫讀取密碼的事件

private void cmbUserName_SelectedValueChanged(object sender, EventArgs e)

{

string username = cmbUserName.Text.Trim();

string sql = string.Format("select pwd from Admin where Username='{0}'", username);

try

{

SqlCommand command = new SqlCommand(sql, DBHelper.connection);

DBHelper.connection.Open();

SqlDataReader dataReader = command.ExecuteReader();

while (dataReader.Read())

{

txtpwd.Text = (string)dataReader["pwd"];

checkBoxpwd.Checked = true;

}

}

catch

{

MessageBox.Show("數(shù)據(jù)庫操作出錯!");

}

finally

{

DBHelper.connection.Close();

}

}

/// summary

/// 記住密碼操作

/// /summary

/// param name="sender"/param

/// param name="e"/param

private void checkBoxpwd_Enter(object sender, EventArgs e)

{

bool check = true;

check = checkinput(cmbUserName.Text.Trim());

if ((string)cmbUserName.Text.Trim() == "")

{

MessageBox.Show("請輸入用戶名", "輸入提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

cmbUserName.Focus();

}

else

{

if (txtpwd.Text.Trim() == "")

{

MessageBox.Show("請輸入密碼", "輸入提示", MessageBoxButtons.OK, MessageBoxIcon.Information);

txtpwd.Focus();

}

else

{

bool isValidUser = false; // 標(biāo)識是否為合法用戶

string message = ""; // 如果登錄失敗,顯示的消息提示

// 如果驗證通過,就顯示相應(yīng)的用戶窗體,并將當(dāng)前窗體設(shè)為不可見

if (ValidateInput())

{

// 調(diào)用用戶驗證方法

isValidUser = ValidateUser(cmbUserName.Text, txtpwd.Text, ref message);

// 如果是合法用戶,顯示相應(yīng)的窗體

if (isValidUser)

{

if (check == true)

{

XmlDocument doc = new XmlDocument();

doc.Load(@"E:\面向?qū)ο?-C#練習(xí)\通訊錄\address list\address list\user.xml");//(@"E:\面向?qū)ο?-C#練習(xí)\通訊錄\address list\address list\user.xml");

XmlElement node = doc.CreateElement("user");

XmlNode xnode = (XmlNode)doc.CreateElement("username");

xnode.InnerText = cmbUserName.Text.Trim();

node.AppendChild(xnode);

doc.DocumentElement.InsertAfter(node, doc.DocumentElement.LastChild);

doc.Save(@"E:\面向?qū)ο?-C#練習(xí)\通訊錄\address list\address list\user.xml");

//doc.Load (@"E:\面向?qū)ο?-C#練習(xí)\通訊錄\address list\address list\user.xml");

}

}

// 如果登錄失敗,顯示相應(yīng)的消息

else

{

MessageBox.Show(message, "記住密碼失??!", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

}

}

}

/// summary

/// 驗證當(dāng)前combox中內(nèi)容是否已經(jīng)存在于xml文件中

/// /summary

/// param name="text"/param

/// returns/returns

private bool checkinput(string text)

{

int count;

bool c = true;

for (count = 0; count cmbUserName.Items.Count;count ++ )

{

if (text ==(string )cmbUserName .Items [count])

{

c=false;

}

}

return c;

}

xml文件內(nèi)容如下:?xml version="1.0" encoding="utf-8"?

person

user

網(wǎng)頁題目:vb.net登錄驗證 net 登錄驗證
文章起源:http://muchs.cn/article40/hgspeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站網(wǎng)站設(shè)計公司、網(wǎng)站排名、外貿(mào)建站、品牌網(wǎng)站建設(shè)、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司