将验证代码抽离到一个父类中
利用cancan实现权限管理