【问题标题】:how do I determine the user role after publishing the site?发布网站后如何确定用户角色?
【发布时间】:2018-12-16 21:03:04
【问题描述】:

我正在制作一个有两种不同类型用户的网站,管理员和普通用户,我已经阅读了很多关于如何通过 PHP 和 SQl 根据用户类型创建不同页面的内容,我注意到其中大多数用户创建帐号后,通过数据库(字段称为类型、角色等)确定用户的角色。

所以我的问题是,如果我发布网站,如何确定用户类型/角色?每次新用户登录时,我是否必须每次返回数据库来指定用户的类型/角色!?

【问题讨论】:

  • 角色将在登录后保留在会话中,我想这就是您要问的
  • 你在存储你的 admjn
  • @ThalindaBandara 我不明白你的意思,但是有几个管理员,他们像用户一样以正常的方式创建他们的帐户,他们的信息存储在数据库中
  • @tim 是的,我知道会话以及如何根据用户角色进行登录页面重定向,但首先如何确定他们的角色?
  • 好吧,你已经必须在他们登录时检查数据库,所以也可以使用该查询来提取角色

标签: php mysql sql database phpmyadmin


【解决方案1】:

假设您将它们都存储在同一个表中,那么您必须在签名后以普通用户身份登录每个用户,您可以决定这是什么类型的用户并为他们提供更安全的适当用户级别,这意味着您必须从那里创建另一个管理面板,您可以更改用户级别和新用户因此您不必访问 phpmyadmin 面板。问题是我不明白你是如何决定的,如果有一种方法可以选择,那么我建议你编写一个算法来选择管理员和普通用户,这样很容易。

好的,现在我想我明白了。我们应该在他们创建帐户时确定这是什么类型的用户,例如,当他们创建帐户时,您可以问一个问题,例如他们有多少年的过期时间,所以假设他们有超过 4 年的过期时间,那么这是一个管理帐户,如果有效期不到4年,那是一个正常的帐户。只是不要让用户知道您是如何决定帐户类型的。我认为为自己制作一个单独的超级管理员面板的任何方式都更好,因为只有你才能决定哪个是哪个

Userid  |  usertype    |       usernam
  1         |        1            |         jhone
  2         |        2            |         mark

用户类型 1 = 管理员 用户类型 2 = 普通用户

你应该使用的表结构

并且每次他们登录时,您都会在您的情况下查询数据库并在会话中存储信息 $_session['userid'] 和 $_session['role/type']

【讨论】:

  • 什么是“创建另一个管理面板”?是在网站上创建一个页面来控制和管理数据库而不直接访问它还是什么?
  • 是的,管理员和用户在同一个表中,但是如果我制作了不同的表单,可能会导致普通用户访问管理员的表单
  • 创建另一个管理面板意味着只有您可以从该管理面板访问该管理面板,您可以删除用户阻止用户,而且只有您可以访问该管理面板。因此,假设新用户已注册,然后该用户显示在您的管理面板中,然后您可以决定这是什么类型的用户,然后您可以从那里更新表格,这与 phpmyadmin 相同,但对用户更友好
  • 这样,您不必每次出现新用户时都访问 cpanell,您只需创建一个包含用户级别的下拉菜单,然后从那里选择用户级别,然后单击按钮。另一个重要的事情是您应该使用密码保护您的超级管理员面板(您的管理员面板)。 Htaccess
  • 我想我明白了,这取决于用户提供的一些信息,就我而言,没有指定用户类型的信息,但也许我可以给管理员一个密码
猜你喜欢
  • 1970-01-01
  • 2012-07-02
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
  • 2019-12-17
  • 2023-03-23
  • 2011-01-16
  • 2014-04-28
相关资源
最近更新 更多