78 lines
2.5 KiB
C#
78 lines
2.5 KiB
C#
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<token>(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<token>(loginToken);
|
|
|
|
user_id = "admin";
|
|
user_uid = "admin";
|
|
user_name = "系統管理者";
|
|
user_perm = "admin";
|
|
user_isLogin = true;
|
|
|
|
}
|
|
} |