当前位置:首页 > Windows程序 > 正文

newstring[]{"sample1"

2024-03-31 Windows程序

using System;  

using System.Linq;  

using System.Web;  

using System.Web.Http;  

using System.Web.Security;  

  

namespace OtherApi.Auth  

{  

  

    public class AuthFilterOutside : AuthorizeAttribute  

    {  

        //重写基类的验证方法,插手我们自界说的Ticket验证  

        public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)  

        {  

            //url获取token  

            var content = actionContext.Request.Properties["MS_HttpContext"as HttpContextBase;  

            var token = content.Request.Headers["Token"];  

            if (!string.IsNullOrEmpty(token))  

            {  

                //解密用户ticket,并校验用户名暗码是否匹配  

                if (ValidateTicket(token))  

                {  

                    base.IsAuthorized(actionContext);  

                }  

                else  

                {  

                    HandleUnauthorizedRequest(actionContext);  

                }  

            }  

            //如果取不到身份验证信息,并且不允许匿名访谒,则返回未验证401  

            else  

            {  

                var attributes = actionContext.ActionDescriptor.GetCustomAttributes<AllowAnonymousAttribute>().OfType<AllowAnonymousAttribute>();  

                bool isAnonymous = attributes.Any(a => a is AllowAnonymousAttribute);  

                if (isAnonymous) base.OnAuthorization(actionContext);  

                else HandleUnauthorizedRequest(actionContext);  

            }  

        }  

  

        //校验单据(数据库数据匹配)  

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/36202.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494592访问次数
  • 建站天数
  • 友情链接