当前位置: 首页 > news >正文

广东营销型网站建设报价定制商品的app

广东营销型网站建设报价,定制商品的app,网站栏目变了怎么做跳转,网站建设公司伟置普通的权限验证一般都是写一个方法,然后再执行方法之前检查一下权限这样做的坏处是每个地方都需要修改加权限验证而用AOP的方式来做的话就很方便网上找了一个例子,测试通过,感觉蛮好用的,记录一下[AttributeUsage(AttributeTargets.All, AllowMultiple false, Inherited true…普通的权限验证一般都是写一个方法,然后再执行方法之前检查一下权限这样做的坏处是每个地方都需要修改加权限验证而用AOP的方式来做的话就很方便网上找了一个例子,测试通过,感觉蛮好用的,记录一下[AttributeUsage(AttributeTargets.All, AllowMultiple  false, Inherited  true)]public class TaskInfo : Attribute{public string Name { get; set; }public string Description { get; set; }public TaskInfo() { }public TaskInfo(string name, string description){this.Name  name;this.Description  description;}}//特性定义用于 Consumer    [AttributeUsage(AttributeTargets.Class)]    public class PermissionCheckAttribute : ContextAttribute    {        public PermissionCheckAttribute()            : base(PermissionCheck)        { }        public override void GetPropertiesForNewContext(IConstructionCallMessage ccm)        {            ccm.ContextProperties.Add(new PermissionCheckProperty());        }    }internal class SecurityAspect : IMessageSink    {        private IMessageSink m_next;        internal SecurityAspect(IMessageSink next)        {            m_next next;        }        #region -- IMessageSink  --        public IMessageSink NextSink        {            get { return m_next; }        }        public IMessage SyncProcessMessage(IMessage msg)        {            Preprocess(msg);            IMessage returnMethod m_next.SyncProcessMessage(msg);            return returnMethod;        }        public IMessageCtrl AsyncProcessMessage(IMessage msg, IMessageSink replySink)        {            throw new NotImplementedException();        }        #endregion        #region --自定义的 AOP 方法--        private void Preprocess(IMessage msg)        {            //只处理方法调用            if (!(msg is IMethodMessage)) return;            //获取方法中定义的 Task 属性交给权限检查类去检查            IMethodMessage call msg as IMethodMessage;            MethodBase mb call.MethodBase;            object[] attrObj mb.GetCustomAttributes(typeof(TaskInfo), false);            if (attrObj ! null)            {                TaskInfo attr (TaskInfo)attrObj[0];                if (!string.IsNullOrEmpty(attr.Name))                    PowerHelper.PermissionCheck(attr.Name);            }        }         #endregion     }public class PermissionCheckProperty : IContextProperty, IContributeObjectSink    {        #region   IContributeObjectSink 实现将 AOP 类加入消息处理链        public IMessageSink GetObjectSink(MarshalByRefObject o, IMessageSink next)        {            return new SecurityAspect(next);        }        #endregion        #region     IContextProperty 实现        public string Name        {            get { return PermissionCheckProperty; }        }        public void Freeze(Context newContext)        {        }        public bool IsNewContextOK(Context newCtx)        {            return true;        }        #endregion    }public class PowerHelper    {        public static void PermissionCheck(string taskName)        {            if (HttpContext.Current ! null)            {                //此处做权限验证                //用户,角色等自由操作                if (HttpContext.Current.Session[user] ! null HttpContext.Current.Session[user] ysuhy)                {                    //拥有权限,正常                                    }                else                {                    //没有权限                    throw new UnauthorizedAccessException(访问被拒绝当前用户不具有操作此功能的权限);                }             }         }     }普通业务类方法    [PermissionCheck()]    public class ItemManager : ContextBoundObject    {        [TaskInfo(AddItem, 增加)]        public void AddItem()        {             Console.WriteLine(执行增加);            //...        }     }调用protected void Page_Load(object sender, EventArgs e)        {            Session[user] ysuhy;            ItemManager itemManager new ItemManager();            itemManager.AddItem();        }
http://www.zqtcl.cn/news/377610/

相关文章:

  • 硬盘做网站空间高端网站设计杭州
  • 南昌网站建设方案网站建设需求分析班级
  • 汉阳做网站关键词站长工具
  • 做海报图片的网站营销软件
  • 能先做网站再绑定域名吗石家庄公司建设网站
  • 设计网站的收费图是怎么做的公司网站简介怎么做
  • 医院网站案例结合七牛云做视频网站
  • wordpress数据库缓存插件aso优化吧
  • 网站二维码代码国贸汽车网站建设
  • 医疗网站建设多少钱信息查询类网站是怎么做的
  • 网站开发辅助工具搜索引擎推广实训
  • 如何用手机制作网站比价网站
  • 商城类网站备案四川全网推网络推广
  • 好设计购物网站wordpress 公网访问不了
  • 局域网网站建设需要什么条件wordpress文章列表高度
  • 长春怎样建网站?学服装设计培训机构
  • 怎么用织梦制作响应式布局网站阳江网红
  • 洛阳网站建站72建站网
  • 网站版权信息修改app开发公司资质
  • 用vs2015做网站教程天津红桥网站建设
  • 触屏网站开发四川住房建设厅网站
  • 百度商桥怎么接网站wordpress电影自动采集主题
  • 丽水做网站公司用vps建网站备案
  • 西安网站制作机构视频网站 备案
  • 北京城乡建设学校网站国内外贸网站建设公司
  • 万峰科技著.asp.net网站开发四酷全书电子工业出版社专业网站制作定制
  • 如何做好一个网站运营建公司网站的详细步骤
  • python开发做网站代理注册公司怎么样
  • 网站开发技术简介深圳市市场监督管理局官网
  • 有那种网站的浏览器wordpress调用当前分类文章