微信企業號開發之微信考勤Cookies的使用,考勤cookies

來源:互聯網
上載者:User

企業號開發之考勤Cookies的使用,考勤cookies

在上篇文章給大家介紹了企業號開發之考勤百度地圖定位,接下來通過本文學習企業號開發之考勤Cookies的使用,具體內容如下。

使用考勤,每次使用企業號開發:使用者資訊和web網頁的session的關係這個裡邊的方法,調用的介面,有點慢,官方也推薦使用Cookies,但如何使用Cookies,自己卻一直沒有搞清楚。

原來一直以為在服務端擷取用戶端的資料有兩個方法,一種就是查詢字串放在URL上,一種就是放在form中,post提交,自己以前也使用過但主要是在用戶端使用,從來沒法把Cookies中的資料直接提交到服務端,即使有也是通過把Cookies中的資料讀取出來後放入form中的隱藏欄位,然後post到服務端。

顯然考勤這類其實就是一個URL,在進入URL的過程中,沒有什麼post資料的過程。只有進入URL之後再通過使用者提交,或者ajax提交。總之似乎沒法直接把Cookies中的資料直接提交給服務端。似乎陷入了僵局。於是自己再一次研究了Cookies,發現Cookies似乎是主動提交到服務端的,但和post是提交的位置不一樣,當然我沒有找到相關文檔,是測試發現的。只要自己設定了Cookies,每次進入URL都會提交Cookies,自然就可以在服務端讀取到Cookies的值了。這時才真正明白記住密碼的真正實現原理。並不是把Cookies的值讀出來,放入隱藏欄位,然後通過ajax提交到服務端,就可以免登陸了。

可以看到Cookies的資料到了服務端,sessionID也是通過Cookies這種方式傳到服務端的。

前端js讀取,設定Cookies的方法:

function setCookie(name, value) {//兩個參數,一個是cookie的名子,一個是值  var Days = 30; //此 cookie 將被儲存 30 天  var exp = new Date(); //new Date("December 31, 9998");  exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);  document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); } function getCookie(name) {//取cookies函數    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));  if (arr != null) return unescape(arr[2]); return null; } 

CSharp服務端操作Cookies:

設定Cookies

HttpCookie cookie = new HttpCookie("UserCode", username);    cookie.Expires = DateTime.Now.AddDays(10);// (365 * 24 * 3600);      this.Response.AppendCookie(cookie);    HttpCookie cookieDeviceId = new HttpCookie("DeviceId", rt.DeviceId);    cookieDeviceId.Expires = DateTime.Now.AddDays(10);// (365 * 24 * 3600);      this.Response.AppendCookie(cookieDeviceId); 

讀取Cookies:

HttpCookie ttHttpCookie = this.Request.Cookies.Get("UserCode"); HttpCookie ttHttpCookieDeviceId = this.Request.Cookies.Get("DeviceId"); string code = Request.QueryString["code"]; if (ttHttpCookie == null || ttHttpCookieDeviceId == null) {  WeiApi(code); } else {  string username = ttHttpCookie.Value;  string DeviceId = ttHttpCookieDeviceId.Value;  if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(DeviceId))  {   WeiApi(code);  }  else {   new AppException("讀取Cookies UserCode=" + username + ",DeviceId=" + DeviceId);   initSession(username, DeviceId);  } } 

以上內容給大家介紹了企業號開發之考勤Cookies的使用,希望大家喜歡。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.