最近一直在研究权限,今天终于把权限搞定了以后准备自己写个商城,对以后的帮助非常大的。下面简单谈谈关于权限的实现.权限主要分为以下三个类:用户、角色、权限表权限主要分为三个步骤:1、安装(初始化数据)管理员:(超级管理员)一个拥有所有权限的用户,这个用户在程序安装时就要初始化,权限数据:这个表主要存储权限的名字和url,这个权限主要有两个作用,一个是菜单的显示,其中一级菜单没有url只是分类的作用。2、权限的分配:权限的分配主要是针对某个角色和权限建立管理,
系统 2019-08-12 01:54:20 2187
MVC用扩展方法执行自定义视图,替代UIHint项目中用了Bootstrap,这样就不用写太多的CSS了,省去很多事情。但是这个业务系统需要输入的地方很多,每个表都有100多个字段,每个页面需要大量的表单。把这些表单按bootstrap的格式写出来,也是件头痛的事情。我想到模板,EditorTemplatesUIHint,但是UIHint需要用Metadata标注,一个一个的加,也是不现实的。还有别外一种办法,就是扩展HtmlHelper。要用HtmlHe
系统 2019-08-12 01:53:26 2187
写atoi函数的时候需要注意一下几点1.字符串前的空白2.字符串所表示数值的正负号3.结束条件,遇到非数字或者字符'\0'结束4.考虑溢出,分别与int值所能表示的最大(0x7fffffff)和最小值(0x8000000)进行比较5.考虑异常输入情况下,用全局变量valid来标识,对于"+/-""0""+abc"需要进行区分1#defineINT_MAX((int)0x7FFFFFFF)2#defineINT_MIN((int)0x80000000)3//
系统 2019-08-12 01:53:13 2187
引言数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白
系统 2019-08-12 01:52:58 2187
首先,非常感谢大家对上篇博文的支持,真是让本菜受宠若惊,同时对拖了这么久才出了此篇表示抱歉。前言:此文旨在汇总从建立数据库到联接查询等绝大部分SQL语句。SQL语句虽不能说很多,但稍有时间不写就容易出错。博主希望通过此文来战胜自己的健忘,如果大家认可也可以保留起来。"SQL"是"StructuredQueryLanguage"即“结构化查询语言”的简称,它是用来管理关系型数据库的。其包括:–数据定义语言(DDL)–数据查询语言(DQL)–数据操作语言(DM
系统 2019-08-12 01:33:49 2187
一级(2位),二级以后占用(3位),比如一级:01或02,二级:01001或01003,那三级编号就是01001001或01111112,我就写了一个存储过程【个人测试没问题,可以参考一下】获取即将要添加的编号(模拟场景:选择权限的树状图节点添加子集节点,需要计算出子集节点的将要插入的id)ALTERPROCEDURE[dbo].[GetMaxId](@tablenamenvarchar(100),--表名@idcolnvarchar(100),--列名@
系统 2019-08-12 01:33:40 2187
--参考/*普通行列转换(2007-11-18于海南三亚)假设有张学生成绩表(tb)如下:NameSubjectResult张三语文74张三数学83张三物理93李四语文74李四数学84李四物理94*/-------------------------------------------------------------------------/*想变成姓名语文数学物理-------------------------------------------李
系统 2019-08-12 01:33:12 2187
1--执行插入语句返回刚刚生成的自动编号2insertintoTblClassoutputinserted.ClsIdvalues('大一一班','11',18)34------------CASE函数用法------------5--相当于switch注意then后面的数据类型要一样6select*fromTblscore7select8tScoreid,9tenglish,10评分=11case12whentenglish>=95then'优秀'13w
系统 2019-08-12 01:32:55 2187
纹理图片对于3D程序来说比较重要的数据,如果没有纹理图片,就没有亮丽的外表,就没有丰富多彩的世界。在第二人生里,纹理图片不是随着程序一起发布的,而是不断地从服务器上下载的,这点是不像其它游戏,把所有图片全部预先下载好。下面就来分析一下纹理下载线程的工作过程。先从程序:LLAppViewer::getTextureFetch()->createRequest(getID(),getTargetHost(),decode_priority,w,h,c,desi
系统 2019-08-12 01:32:46 2187
1window.onload=function(){2if(getCookie('name')!=null&&getCookie('phone')!=null&&getCookie('password')!=null){3$("#hid").css('display','block');4$("#bol").css('display','none');5}6}验证用户是否登录,是否有过注册信息
系统 2019-08-12 01:32:44 2187