如何简单快速的完成用户角色管理和权限控制(1)准备
- UID
- 1066743
|
如何简单快速的完成用户角色管理和权限控制(1)准备
简介Rails 开发者在程序开发过程中, 经常需要做的就是为 Web 应用程序编写一个用户认证模块,同时还需要针对不同角色的用户给予不同的控制权限,对于初级开发者来说,自己编写比较困难且后期维护也较麻烦。Devise是Rails的一个权限认证组件,使用该组件可以在无编码的情况下快速生成一个带有登录、注册、权限认证和重置密码的用户认证模块。CanCan是Rails的一个权限管理组件,利用该组件可以根据不同角色限定用户能够访问的资源,所有的权限都在ablity类中定义,而不需要在controllers、views、数据库中复制。Rolify可以轻松的和Devise、CanCan结合起来,成为一套分角色的权限管理组件。
本文将会引导读者创建一个 Rails 项目并利用 devise+rolify+cancan 完成该项目的用户角色管理和资源权限控制功能。作者使用的是macOs Sierra,不同的系统在环境准备方面会有所差异,读者需要根据自己的系统来搭建开发环境。
环境准备在 macOs 下搭建 ruby 开发环境步骤十分简单,只需要安装 ruby 环境后用 gem 安装 rails 即可。安装 ruby 有多种方式,本文采用 rvm 来管理和安装 ruby。rvm 全称 Ruby Version Manager,顾名思义,它是用来做 ruby 版本管理的,利用 rvm 我们可以安装多个版本的 ruby,在使用时可以指定版本,十分简便。
$ curl –sSL https://get.rvm.io | bash –s stable
$ rvm install 2.2.5
$ rvm use 2.2.5
由于 ruby 默认的 gem 源在国外,中国的开发者访问该源有可能会连不上,所以我们可以使用 ruby-china 的镜像源。
$ sudo gem update --system
$ gem sources --remove https://rubygems.org/
$ gem sources –a https://gems.ruby-china.org/
$ sudo gem install rails
|
|
|
|
|
|