求登陆后根据用户权限跳转不同后台的实现思路


现需实现一个登录系统,前端bootstrap,后端php+mysql。

  • 数据库记录用户权限,一共四种,现需根据登陆用户的权限跳转到不同后台(比如su跳转到管理页面,非su跳转到个人信息页面),实现思路是什么?
  • 我试着用Ajax请求不同页面的代码然后用js无刷新重写整个页面,但是有很多问题,是这个思路行不通还是我的实现有问题?

小弟刚开始接触网页,跪求高人指点迷津!

php mysql JavaScript bootstrap

Rooney 10 years ago

1、数据库四个权限中记录每个权限要跳转到的页面
2、PHP head / meta 跳转即可,
3、当然四个后台页面也是要判断权限的

feveren answered 10 years ago

判断直接在登录的控制器中解决就可以了,控制器检测到登录成功后,接着判断用户权限,然后根据权限直接redirect url就行了
对于第二个问题,我个人认为Ajax尽量去做辅助,整个页面使用js重写感觉有点过了
一般我在写一些web应用的时候ajax一般用在表单提交、数据加载上,这样通过ajax得到服务器返回的json数据,再填充到页面上就好了。

对于web开发的初学者,最好不要一开始就去单纯的去研究如何使用某种语言去编写,而是应该在学习编写web应用的过程中去搞清楚web中一些概念,比如什么是forward、什么是redirect、get/post/put/delete有什么区别,以及你当前使用的编程语言是如何实现这些东西的。

以上仅为个人愚见,仅供参考~

zhao2 answered 10 years ago

首先,我想不明白你用 Ajax 的理由,你说的请求不同页面的代码是指?
然后,对于这种问题,基本思路大概是这样的: js 负责前端数据在提交前的验证,比如登录时,你可以用 js 使其通过验证才能提交数据,那在通过前端验证之后,数据就被提交到后端了(这里就是你说的 php ),到了后端干嘛呢?那在这里如果数据要入库,一般都是在入库之前由 php 再验证一次,如果不用入库而是像登录这种跟数据库交互的时候也交给后端来实现,然后在后台会执行一些列的逻辑判断,就像你说的根据等级判断来跳转到不同的页面,以下是一个简单的例子,假设这个是 verify.php ,你把数据 POST 到这里,然后:


 <?php
if ($user->isLogin()) {
if($user->isCommonUser()){
    $this->redirect("profile/index");
}
if($user->isPrivilegeUser()){
    $this->redirect("privilege/index");
}
if($user->isAdmin()){
    $this->redirect("admin/index");
}
}

prwking answered 10 years ago

Your Answer