2023年6月20日发(作者:)
c#⾃定义验证登录(Authorize)我们的项⽬本来是⽤azure的auth认证,是⽤过程中发现登录速度太慢了,所以还是⾃⼰搞⼀个吧,没想到搞起来挺简单的,不是⽤⼀个专门的认证服务器哈,就是⼀个简单的⼯具类。验证是否登录的类 ///
private bool IsLogin(HttpActionContext actionContext) { var token = ng(); // MD5值 var openId = ; // MD5值 Values("Token", out var tokens); Values("OpenId", out var openIds); if (ull() && () && ull() && ()) { token = rDefault(); openId = rDefault(); var cache = he(token); if (ull())//如果缓存中存在该token对应的值,说明已经登录了 return true; //获取⽤户 var strUserUrl = ode(tings["sso_req_user_url"]); var reqUserUrl = (strUserUrl, openId, token); var reqUser = (reqUserUrl) as HttpWebRequest; = "get"; tType = "application/json"; var resUser = ponse() as HttpWebResponse; //以流的形式读取,返回的就是字符串的json格式 StreamReader readerUser = new StreamReader(ponseStream()); var resUserData = End(); if (Code == ) { var suser = alizeObject
使⽤登录接⼝数据缓存处理,获取到⽤户信息后,⽣成guid作为token,每次登录都会重新⽣成token,返回给请求来源,web端只保存token值即可,每次请求的时候把token放到header⾥⾯。BaseApiController处理,获取header⾥⾯的token值,把⽤户信息放到缓存⾥⾯,从缓存中获取后放到基类⾥⾯的model中,⼦类都可以使⽤⽤户信息。 [RequestAuthorize] public class BaseApiController : ApiController { /// 教师中⼼
发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687249591a15.html
评论列表(0条)