zoukankan      html  css  js  c++  java
  • WebApi 中使用 Token

    1.登陆的时候根据用户信息生成Token

      var token = FormsAuthentication.Encrypt(
                        new  FormsAuthenticationTicket(
                           0,
                           "UserName",
                           DateTime.Now,
                           DateTime.Now.AddHours(1), 
                           true, 
                           string.Format("{0}&{1}", "userData1", "userData2"
                           ),
                           FormsAuthentication.FormsCookiePath));
    /  /放入Cookie
     var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, token);
                cookie.HttpOnly = true;
                HttpContext.Current.Response.Cookies.Add(cookie);

    2.新增 一个Filter(取名规范 XXX+Attribute) :ActionFilterAttribute,重写OnActionExecutingAsync

     public override Task OnActionExecutingAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
            {
                var auth = actionContext.Request.Headers.Authorization;
                //记录进入请求的时间
                actionContext.Request.Properties[key] = DateTime.Now.ToBinary();
                //TODO 权限,各种操作在这都可以去拦截..
                return base.OnActionExecutingAsync(actionContext, cancellationToken);
            }

    3. 获取Token 中的信息

      var user = HttpContext.Current.User.Identity.Name;
  • 相关阅读:
    哈希表(python)
    双端循环列表实现栈(python)
    链表实现队列(python)
    循环双端链表(python)
    单链表(python)
    LRU(最近最少使用)(python实现)
    Ajax在Django框架中简单应用2
    图书管理系统增删改查
    Jenkins接入LDAP
    安装python3.6
  • 原文地址:https://www.cnblogs.com/zhuzy/p/9508106.html
Copyright © 2011-2022 走看看