如何使用多个应用程序入口迷思
如何使用多个应用程序入口迷思
De
1、开发一个网站,前后台都用一个入口(index.php)好,还是按照权限来分,分开前台入口(index.php)、后台入口(admin.php)好?
还有会员入口,每个入口用不同的调度器。
2、开发一个网站,如何规划需要多少个控制器?
dualface
可以用多个入口的。我一般是前台用一个入口,后台用一个入口。
实际上,可以把一个入口想想为一个应用程序。所以每一个入口都可以有自己的应用程序配置文件。
使用多个入口时,一定要注意 RBAC 的 session 冲突问题,应该在两个入口的应用程序配置文件中使用不同的 RBACSessionKey 设置。
如果不采用上面的方法,那么用户在后台登录后,前台也会认为该用户登录了。反之亦然。
另一个必须注意的问题就是对控制器的访问限制。
举例来说:
index.php 是前台入口
admin.php 是后台入口,使用 RBAC 来限制用户访问控制器
由于 index.php 没有使用 RBAC 进行访问控制,因此用户可以通过 index.php 调用所有的控制器。由此一来,如果用户能够猜测到后台控制器的名字,那么无需登录就可以通过 index.php 来访问这些后台控制器了。
要解决这个问题有几种途径:
一是前后台都使用 RBAC 进行访问控制,这样就不会有问题了。
二是前后台的应用程序配置文件指定不同的 controllerClassPrefix 选项。
例如后台的 controllerClassPrefix 改为 “BoController_”。那么后台的控制器文件就要放到 BoController 目录中。而前台的控制器还是放在 Controller 目录中。这样一来,用户就不可能通过 index.php 访问到后台控制器了。