Authentication 管理员和普通用户登录

Authentication 管理员和普通用户登录,authentication,login-control,Authentication,Login Control,我应该有一个普通用户和管理员登录表单吗 或 我应该为管理员和普通用户使用单独的登录表单吗?如果所需的登录信息相同,您应该为管理员和普通用户使用一个表单。有两个表单只会使应用程序的编写更加复杂。拥有一个或两个登录表单同样安全。请记住在服务器端实施正确的安全措施,这样用户就不会获得管理员权限 身份验证的第一步是检查用户名是否存在,然后检查输入的密码是否与数据库中的用户密码相匹配。应对密码进行哈希运算。然后,您可以进行授权以检查用户是否是管理员。可以使用相同的表单 登录页面的目的是身份验证——确定用户

我应该有一个普通用户和管理员登录表单吗 或
我应该为管理员和普通用户使用单独的登录表单吗?

如果所需的登录信息相同,您应该为管理员和普通用户使用一个表单。有两个表单只会使应用程序的编写更加复杂。拥有一个或两个登录表单同样安全。请记住在服务器端实施正确的安全措施,这样用户就不会获得管理员权限


身份验证的第一步是检查用户名是否存在,然后检查输入的密码是否与数据库中的用户密码相匹配。应对密码进行哈希运算。然后,您可以进行授权以检查用户是否是管理员。

可以使用相同的表单

登录页面的目的是身份验证——确定用户是谁,而不是他们能看到什么。因此,例如,您可能希望他们提交密码或其他令牌,以降低他们不是他们所说的人的风险。这对每个人来说都是相同的过程


您站点中的某些功能可能仅对管理员或最终用户可用,但只有在您确定用户身份并通过身份验证后,才能检查权限授权。检查权限的逻辑应该出现在每个页面上。因此,它与身份验证过程没有多大关系。

虽然这似乎是以意见的形式提出的,但根据大多数网站或应用程序的做法来回答这一问题更有意义

这真的取决于上下文。一般来说,普通用户和管理员用户将使用相同的登录表单。通常,指定用户是否为管理员的参数将存储在用户的数据库表中。单击login按钮时执行的身份验证方法将验证用户是否存在,根据哈希检查密码,然后检查数据库表以查看用户是否是管理员


在某些特定情况下,我看到管理员有一个单独的登录页面,但这种情况很少见。一个例子可能是一个webstore,它有一个独立于主站点的管理/管理仪表板。不过,通常情况下,这些都是通过相同的形式进行的。

答案完全取决于您的情况。您是否有单独登录表单的理由?这个问题主要是基于观点的。管理员和普通用户之间需要不同的细节或机制吗?@DanWilson不,我只想知道哪个是安全的?@ChetanRanpariya不,这是一样的,只有我想知道哪一个是安全的?如果您实施了适当的安全措施,那么您可以拥有任意多的登录表单。没关系。