在同一会话中管理两种类型的用户帐户

时间:2017-09-06 05:43:02

标签: php session

我的系统中有两种用户。管理员和普通用户。在这里,我打算在登录后根据用户组使用会话变量进行重定向。目前,Admin可以访问独特的功能(管理仪表板等)。普通用户正在拥有个人资料。我需要管理员可以在管理仪表板和用户配置文件之间切换,而无需多次登录或注销。任何人都可以大致了解我该如何实现这个目标?

3 个答案:

答案 0 :(得分:1)

更好的做法是让小组(听起来像你这样做)并为每个小组分配等级。

例如,普通用户为1,管理员用户为2。

然后,如果您的网页想要向普通用户和管理员显示内容,只要登录用户为> = 1,就可以显示该内容。

同样,如果您的网页只想向管理员用户展示内容,只要登录的用户为> = 2,就可以显示该内容。

这只是一个粗略的例子,因为你没有提供太多的背景或任何例子。

答案 1 :(得分:1)

这不是一个答案,但您是否尝试过更简单,只是在管理员的常规用户页面上的代码中设置例外?

示例,我们为管理员提供 1 ,为普通用户提供 2

只有$row['privilege'] == 1对普通用户$row['privilege'] == 2反之亦然,才能访问

admin.php。<?php if ($row['username'] == "admin" && $row['privilege'] == "1") { // let admin access page } else { // don't let anyone access page } ?>

为什么不在常规用户页面上执行以下操作:

{{1}}

我的意思是在我看来这样的事情会是最简单的方法吗?

这是我的看法,但其他人可能有更好的解决方案

答案 2 :(得分:1)

虽然问题很模糊。我将尝试解释在普通Web应用程序中管理用户角色,身份验证和授权的正常过程。

数据库模型:

View1.php
if(role in session is 'ADMIN' )
Show the data

View2.php
if(role in session is 'USER' )
Show the data

当用户在AuthController中验证自身时,验证成功后,您需要获取与用户关联的角色。然后你需要把这些信息放在会话中。

在您的观看中,您需要根据您的商业条件检查以下条件。

 MyListActivity.this.lvListadapter.getFilter().filter(cs);