# 用户及后台
我们在之前的章节已经看到如何开发一个WEB应用。严格的说,那只是前台的应用。
一般而言,我们总还有一个后台的应用,而后台的应用一般也会要求用户登录。
所以在本章,我们详细讲述用户和后台的开发。
## 用户
SF中的用户概念和常规应用中的没有什么不同。对用户的验证也有多种方法。详情可以参考[SF官方文档中的相关章节](http://symfony.com/doc/current/book/security.html)。
在本应用中,我们只采用最简单的所谓Plain Authorization,而且用户及密码都以明文保存在配置文件中。
## `security.yml`
SF所有的安全配置都在`/app/config/security.yml`中,我们将该文件修改为:
~~~
security:
encoders:
Symfony\Component\Security\Core\User\User: plaintext
providers:
in_memory:
memory:
users:
admin: { password: 123456, roles: [ 'ROLE_ADMIN' ] }
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
login:
pattern: ^/demo/secured/login$
security: false
secured_area:
pattern: ^/admin
anonymous: ~
http_basic:
realm: "Secured RSYWX Admin Area"
access_control:
- { path: ^/admin, roles: ROLE_ADMIN }
~~~
我们略作解释。
* `encoders`一段中,说明我们的用户验证机制是plaintext,也就是明文的方式。
* `providers`一段中,说明我们的用户是`in memory`方式,也就是说用户信息存放在内存中。
* `firewalls`中,主要看`secured_area`中`pattern`的说明。`^/admin`表示类似`'/admin'`这样的路径是属于受控路径,需要验证。
* `access_control`中,我们规定类似`/admin`这样的目录只能由具有`ROLE_ADMIN`权限的用户访问。
这里我们略微讲一下验证和授权的区别。
验证是对一个用户是否合法的判定。常规情形下,一个用户用正确的密码登录系统后,就认为该用户已经获得验证。
授权是对一个验证用户的进一步判定。在应用配置中,该用户能做什么不能做什么是由授权来完成的。
## 后台
本应用的后台只是一些统计信息的显示。具体编程不再赘述,显示效果如下:
![](https://box.kancloud.cn/94dd0fa0d4b6d910e806d24075fadfe6_1024x736.png)
如果配置正确的话,在访问该页面之前,浏览器会弹出一个对话框,要求输入用户/密码(我们的配置是admin/123456)。
- 引言
- 1 LAMP
- 1.1 安装虚拟机
- 1.2 安装Vagrant
- 1.3 安装Ubuntu
- 1.4 安装Apache 2
- 1.5 安装PHP
- 1.6 安装MySQL服务器
- 1.7 最后的微调
- 1.8 设置一个虚拟主机
- 1.9 一个趁手的IDE
- 2 Symfony 3和重要构件
- 2.1 Symfony 3
- 2.2 Doctrine
- 2.3 Twig
- 2.4 Composer
- 3 Symfony重要概念
- 3.1 MVC
- 3.2 Bundle/包
- 3.3 Route/路由
- 3.4 Controller/控制器
- 3.5 Entity/实体
- 3.6 Repository/仓库
- 3.7 Template/模板
- 3.8 Test/测试
- 4 藏书管理程序的结构
- 5 创建应用
- 5.1 建立版本管理
- 5.2 建立数据库
- 5.3 应用结构
- 5.4 建立数据库实体
- 5.5 样本数据
- 5.6 路由
- 5.7 模板
- 5.8 开始编写首页
- 5.9 书籍详情页面
- 5.10 书籍列表页面
- 5.11 书籍搜索
- 6 用户和后台
- 7 结语