RBAC用户权限管理数据库设计

在我的认识中,Drupal的用户系统是做的最好的。详细到一个用户是否对小模块有访问控制的权限。这篇文章来自转载,对用户以及权限系统做了好的讲解。

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)

角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角色。版主可管理版内的帖子、可管[……]

阅读更多

ASP.NET MVC5使用Elmah日记记录组件

使用错误日志记录组件能方便的记录在系统运行时发生的一些错误。

快速使用

  1. 快速新建一个空的MVC5项目,用作Demo项目;

  2. 使用“NuGet”所有并安装Elmah;

  3. 安装完成后,最外层的Web.config会自动添加如下信息:

    <configSections>
        <sectionGroup name="elmah">
            <section name="security" requirePermission="false" type="Elma[......]

阅读更多

Git常用操作

设置

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

提交

git tracked的是修改,而不是文件

#将“当前修改”移动到暂存区(stage)
$ git add somfile.txt
#将暂存区修改提交
$ git commit -m "Add somfile.txt."

状态

$ git status
$ git diff

回退

# 放弃工作区修改
$ git checkout -- file[......]

阅读更多

HTTPS站点中含有HTTP链接的内容

添加“微博秀”到网站中,由于因为网站是https协议,而微博秀默认是http,所以会导致“微博秀”不能正常显示。直接将微博秀源代码中<iframe>的src属性http修改为https即可,但<iframe>依然会引用到http的链接。

当HTTPS站点中含有HTTP链接的内容,Chrome浏览器则会在控制台提示“This content should also be served over HTTPS”提示。

HTTPS 是 HTTP over Secure Socket Layer,以安全为目标的 HTTP 通道,所以在 HTTPS 承载的页面上不允许出[……]

阅读更多

Java标识符

标识符就是用于给 Java 程序中变量、类、方法等命名的符号。

使用标识符时,需要遵守几条规则:

  1. 标识符可以字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴;
  2. 标识符不能是 Java 关键字和保留字( Java 预留的关键字,以后的升级版本中有可能作为关键字),但可以包含关键字和保留字。如:不可以使用 void 作为标识符,但是 Myvoid 可以;
  3. 标识符是严格区分大小写的。 所以涅,一定要分清楚 imooc 和 IMooc 是两个不同的标识符哦!
  4. 标识符的命名最好能反映出其[……]

阅读更多

SQL Server 无法连接到数据库,错误: 18456

解决办法:

  1. 打开数据库的可视化管理器SQL Server Management Studio,并使用Windows身份登录数据库;
  2. 安全性->登录名->双击登录失败的用户名”;
  3. 常规->设置密码->确定;
  4. 状态->登录:启用->确定;
  5. 右击服务器名->属性->安全性->选中 SQL Server 和 Windows 身份验证模式->确定;
  6. 重新启动数据库。

使用tmpwatch自动清除/tmp目录

习惯性的将一些临时文件放在tmp目录下,让其自然删除。同时,为了保证tmp目录不爆满,系统默认情况下每日会处理一次tmp目录文件,原理就是使用了tmpwatch。在系统最小安装情况下,这个功能是没有安装的。安装:

# yum install tmpwatch.x86_64

安装后会在/etc/cron.daily/目录下生成一个tmpwatch文件。内容如下:

# cat /etc/cron.daily/tmpwatch 
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM[......]

阅读更多

Java关键字

关键字区分大小写。

关键字 含义
abstract 表明类或者成员方法具有抽象属性
assert 用来进行程序调试
boolean 基本数据类型之一,布尔类型
break 提前跳出一个块
byte 基本数据类型之一,字节类型
case 用在switch语句之中,表示其中的一个分支
catch 用在异常处理中,用来捕捉异常
char 基本数据类型之一,字符类型
class
const 保留关键字,没有具体含义
continue 回到一个块的开始处[……]

阅读更多

2016年面试第七天

这几天没有再投简历,专心“得朋”这一家。

今天下午3点30半去复试,趁这个时间把住的地方到公司的线路摸清楚,需要多长时间。“车公庙”地铁下面的商城还是比较大的,花费了几十分钟摸清楚大致位置。离复试时间还有一个小时,就在肯德基点了一杯果汁,消磨时间。

复试做了几道逻辑题:

  1. 选择“我的手机(说明文)”或“论‘诚信’的重要性(议论文)”其中一片写;
  2. 选出能证明“鸡蛋蛋黄的黄色与饲料关系”最靠谱的验证方法;
  3. A和B的规模一样,C和D规模比A和B小,选择能说明E比C和D大的条件;
  4. 公司有20人,有的人买了股票,有的人没买股票,总经理没有买股票,那么,只有总经理一个[……]

阅读更多