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