佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Ajax實(shí)現(xiàn)漂亮、安全的登錄界面

Ajax實(shí)現(xiàn)漂亮、安全的登錄界面

熱門標(biāo)簽:團(tuán)購(gòu)網(wǎng)站 服務(wù)器配置 阿里云 Linux服務(wù)器 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 電子圍欄 科大訊飛語(yǔ)音識(shí)別系統(tǒng)

登錄界面是信息系統(tǒng)提供的必備的功能,是提供給用戶提供維護(hù)信息的接口。接下來(lái),我來(lái)帶領(lǐng)大家打造一個(gè)漂亮、安全的登錄界面,使用的技術(shù)是ASP.NET+jQuery

先來(lái)看看預(yù)覽效果

Ajax登錄重點(diǎn)在Ajax,輸入用戶名和密碼后,使用Ajax方式將信息提交到服務(wù)器端,服務(wù)器端判斷時(shí)候存在該用戶,存在則登錄成功并轉(zhuǎn)向管理界面(有時(shí)需要寫cookie或是利用Session,此處不作討論),不存在則提示登錄失敗。

基本流程圖如下


上面是主要思路,為了打造安全的登錄,在使用ajax將密碼傳到服務(wù)器端前,我們可以使用MD5對(duì)密碼進(jìn)行加密,當(dāng)然數(shù)據(jù)庫(kù)中存儲(chǔ)的也是加密后的字符串。jQuery有一款這樣的MD5加密插件,使用十分方便。

流程知道了,就可以方便實(shí)現(xiàn)了。以下是一些主要的代碼

Default.aspx:主要是提供超鏈接,點(diǎn)擊會(huì)調(diào)用thickbox,打開彈出頁(yè)面。

div style="margin-left:50px; margin-top:50px; ">
歡迎使用后臺(tái),
a href="Login.htm?TB_iframeheight=180width=350modal=true" class="thickbox" id="myToolTip" title="點(diǎn)擊登錄,進(jìn)入后臺(tái)管理" >
點(diǎn)擊登錄!/a>
nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp; nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
繼續(xù)瀏覽前臺(tái),a href="../Default.aspx">返回前臺(tái)/a> 

login.htm:真正的登錄界面,負(fù)責(zé)登錄邏輯

script type="text/javascript" src="js/jquery-1.3.2.js">/script>
script type="text/javascript">
 $().ready(function () {
  $('#Login').click(function () {
   if ($('#username').val() == "" || $('#password').val() == "") {
    alert("用戶名或密碼不能為空!");
   }
   else {
    $.ajax({
     type: "POST",
     url: "Ajax/LoginHandler.ashx",
     data: "username=" + escape($('#username').val()) + "password=" + escape($('#password').val()),
     beforeSend: function () {
      $("#loading").css("display", "block"); //點(diǎn)擊登錄后顯示loading,隱藏輸入框
      $("#login").css("display", "none");
     },
     success: function (msg) {
      $("#loading").hide(); //隱藏loading
      if (msg == "success") {
       //parent.tb_remove();
       parent.document.location.href = "admin.htm"; //如果登錄成功則跳到管理界面
       parent.tb_remove();
      }
      if (msg == "fail") {
       alert("登錄失??!");
      }
     },
     complete: function (data) {
      $("#loading").css("display", "none"); //點(diǎn)擊登錄后顯示loading,隱藏輸入框
      $("#login").css("display", "block");
     },
     error: function (XMLHttpRequest, textStatus, thrownError) {
     }
    });
   }
  });
 });
/script>
div id="loading" style="text-align: center; display: none; padding-top: 10%">
 img src="images/loadingajax.gif" alt="loading" />
/div>
div id="login" style="text-align: center">
div style="position:absolute; right:0; top:0">img src="images/closebox.png" onclick="parent.tb_remove()" alt="點(diǎn)擊關(guān)閉" style="cursor:pointer" />/div>
 table border="0" cellpadding="3" cellspacing="3" style="margin: 0 auto;">
  tr>
   td style="text-align: right; padding: 10px">
    label>
     用戶名:/label>
   /td>
   td>
    input id="username" type="text" size="20" />
   /td>
  /tr>
  tr>
   td style="text-align: right; padding: 10px">
    label>
     密碼:/label>
   /td>
   td>
    input id="password" type="password" size="20" />
   /td>
  /tr>
  tr align="right">
   td colspan="2">
    input type="submit" id="Login" value="nbsp;nbsp;登nbsp;錄nbsp;nbsp;" style="margin-right: 50px">nbsp;
    input type="submit" id="LoginCancel" value="nbsp;nbsp;取nbsp;消nbsp;nbsp;" onclick="parent.tb_remove()">
   /td>
  /tr>
 /table>
/div>

LoginHandler.ashx:ajax處理類,簡(jiǎn)單的邏輯

string username = context.Request["username"].ToString();
string password = context.Request["password"].ToString();
//context.Response.Write(password);如果使用加密,則寫入數(shù)據(jù)庫(kù)要加密后的字段,然后登陸的時(shí)候就用加密后的字符串匹配
//此處連接數(shù)據(jù)庫(kù)查看是否有此用戶,此處為了方便起見,直接判斷
if (username == "admin"  password == "1")
 {
 context.Response.Write("success");
 //存儲(chǔ)session
 }
 else
 {
 context.Response.Write("fail");
 }

 ok,一個(gè)簡(jiǎn)單的登錄功能就完成了,當(dāng)然此處在登錄的時(shí)候沒(méi)有進(jìn)行密碼加密。

下面我們來(lái)看看jQuery的加密插件MD5插件, 使用十分方便,加入md5.js的引用就可以使用$.md5()函數(shù)對(duì)字符串進(jìn)行加密,
如下對(duì)上述代碼做稍微改變,即可看到加密后的字符串,
login.htm中: 

data: "username=" + escape($('#username').val()) + "password=" + $.md5(escape($('#password').val())),

success: function (msg) {
      $("#loading").hide(); //隱藏loading
      alert(msg);
      if (msg == "success") {
       //parent.tb_remove();
       parent.document.location.href = "admin.htm"; //如果登錄成功則跳到管理界面
       parent.tb_remove();
      }
      if (msg == "fail") {
       alert("登錄失??!");
      }
     }

 LoginHandler.ashx中加密碼返回即可:

context.Response.Write(password);

ok,再次運(yùn)行程序會(huì)彈出 輸入密碼的MD5加密之后的字符串。 

以上是比較簡(jiǎn)陋的見解,附下載地址:AjaxLogin

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 一款經(jīng)典的ajax登錄頁(yè)面 后臺(tái)asp.net
  • Ajax異步方式實(shí)現(xiàn)登錄與驗(yàn)證
  • ajax 實(shí)現(xiàn)微信網(wǎng)頁(yè)授權(quán)登錄的方法
  • ajax實(shí)現(xiàn)登錄功能
  • Ajax實(shí)現(xiàn)帶有驗(yàn)證碼的局部刷新登錄界面
  • div彈出層的ajax登錄(Jquery版+c#)
  • Ajax Session失效跳轉(zhuǎn)登錄頁(yè)面的方法
  • ajax編寫簡(jiǎn)單的登錄頁(yè)面
  • 登錄超時(shí)給出提示跳到登錄頁(yè)面(ajax、導(dǎo)入、導(dǎo)出)
  • Ajax實(shí)現(xiàn)登錄案例

標(biāo)簽:萍鄉(xiāng) 江蘇 廣元 棗莊 衡水 蚌埠 衢州 大理

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ajax實(shí)現(xiàn)漂亮、安全的登錄界面》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    马尔康县| 呼和浩特市| 合川市| 太和县| 长武县| 社旗县| 阿拉善右旗| 句容市| 盘锦市| 拜城县| 桂东县| 荃湾区| 绍兴县| 洛扎县| 上饶市| 驻马店市| 双江| 固安县| 鹿邑县| 汉川市| 蓬安县| 尉氏县| 本溪市| 正阳县| 开原市| 厦门市| 和静县| 邻水| 滕州市| 昌图县| 化隆| 上林县| 尤溪县| 六盘水市| 高淳县| 彭山县| 勃利县| 黔西县| 富裕县| 霍林郭勒市| 江孜县|