using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Runtime.Serialization.Json; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System.Web.Services.Protocols; using System.Security.Cryptography; using System.Text; using System.Web.SessionState; using System.Data; using System.Data.SqlClient; using Dapper; using Dapper.Contrib.Extensions; public class authToken { public string user_uid { get; set; } public string user_id { get; set; } public string user_name { get; set; } public string user_perm { get; set; } public Boolean user_isLogin { get; set; } public string error_msg { get; set; } public HttpRequest myRequest { get; set; } SqlConnection conn = new SqlConnection(globalClass.appsettings("DBConnectionString")); public authToken() { conn.Execute("delete token where token_expireddate <= @token_expireddate", new { token_expireddate = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") }); HttpCookie tokenCookie = (HttpContext.Current.Request.Cookies["token"] == null) ? null : HttpContext.Current.Request.Cookies["token"]; HttpCookie idCookie = (HttpContext.Current.Request.Cookies["id"] == null) ? null : HttpContext.Current.Request.Cookies["id"]; if (tokenCookie == null) { user_isLogin = false; return; } string token = tokenCookie["token"]; string id = tokenCookie["uid"]; string tokenStr = string.Format("select * from token where token_key = '{0}' and user_uid = '{1}'", token, id); token loginToken = conn.QueryFirstOrDefault(tokenStr); if (loginToken == null) { tokenCookie.Expires = DateTime.Now.AddDays(-10); tokenCookie.Values.Clear(); HttpContext.Current.Response.Cookies.Set(tokenCookie); HttpContext.Current.Response.Cookies.Add(new HttpCookie("token", "")); user_isLogin = false; return; } else { idCookie.Expires = DateTime.Now.AddMinutes(60); tokenCookie.Expires = DateTime.Now.AddDays(10); HttpContext.Current.Response.Cookies.Add(tokenCookie); HttpContext.Current.Response.Cookies.Add(idCookie); } loginToken.token_expireddate = DateTime.Now.AddMinutes(60); conn.Update(loginToken); user_id = "admin"; user_uid = "admin"; user_name = "系統管理者"; user_perm = "admin"; user_isLogin = true; } }