検索
ホームページバックエンド開発PHPチュートリアル一般后台管理员用户和会员用户是否要分开?

如题,一般后台管理员用户和会员用户是否要分开,分成两张用户表,一个会员用户表,一个管理员用户表,如果只用一张表可以吗,哪个更好

回复内容:

如题,一般后台管理员用户和会员用户是否要分开,分成两张用户表,一个会员用户表,一个管理员用户表,如果只用一张表可以吗,哪个更好

谢邀!

我的职业生涯中几乎所有的前后台管理会员都是分开的,大部分做的都是互联网产品,我觉得我可以总结出几点为什么要这么做:

  1. 业务需求:一般总管理后台都是公司内部使用,不牵涉第三方用户,假设真有第三方的分销商、代理商之类的也会开发一个专门的用户后台

  2. 安全需求:安全在业界达成共识的是没有绝对的安全,那么就要尽可能的考虑病增加被黑的难度,第一层就是把管理后台藏起来(限制IP、不用常用域名、目录等),第二层就算发现了也尽量不要用弱密码,加验证码防暴力破解之类的,然后再其他层面问题,可能还会存在分开部署的需求,独立的话更容易扩展一些满足更多的需求

这是个常见的疑问,也是个好问题。

技术决策没有一定之规。实际上这两种实践都是存在的,也都有不少优秀的应用实例。

一个系统总需要解决验证鉴权,即“你是不是声称的这个人”和“这个人是否可以做这件事”两个问题。

从这个角度来看,根据用户身份进行划分,来确定用户的权限范围,这只不过是实现“鉴权”这个目的的可行方法之一,并无什么神秘之处。

管理员/用户分表,这是划分用户身份的一个相当粗暴的二分手段。其特点是:

  • 非己即彼,两者之间存在着不可逾越的鸿沟,几乎无法切换身份

  • 二者能做的行为之间,几乎不存在产生关联的交叉地带,非黑即白

  • 甚至二者的界面都不用一套

  • 【重要】以上的特性确定下来了就不会再改变

如果你的需求符合以上特点,那么分表就是可以的。否则就不应该分。

但必须指出的是:分表能实现的权限控制,不分表一般都是能做到的。所以为了保留灵活性起见,一般不分表是个好选择,尤其是对于新写的程序(需求可能有频繁变更)更是如此。

楼上的都说得非常精彩。
我站在数据的角度说说我的看法。

开发中,经常有这样的情况,开始建了一张表用于存数据A,后面的开发,接到需求,定义了数据结构,然后发现和这张表就几个字段不一样,然后加上几个字段,就把数据B也存在这个表里了。

这样,最终将搞乱一切。

所以,我的观点的,一个表只存一个数据,保持一致性,减少后期犯错的机会。男人就只能进男厕所。

如果鉴权方式相同, 我觉得存一张表方便.
如果鉴权方式都不相同, 那么还是存储两张表好一点

管理员与会员账号应该分开存储,管理员要做普通账号的功能操作,应该用一个普通会员的账号来操作,不然系统是处理权限的时候就要用默认规则, 比如管理员默认覆盖会员的所有权限, 但是实际需求可能不是这样

这种问题还是那个万金油的答案:看需求,具体问题具体分析。

权限这个事有几个粗浅的级别:
1-注册用户只有两种身份:普通用户、管理员,没有更详细的权限管理了,这种你分不分表都一样。
2-对注册用户中至少一种类型的用户需要进行权限管理:从逻辑上说,既然需要进行权限管理了,那就不分表,统一逻辑更容易开发和维护
3-不同用户类型的权限管理方式是不一样的:能不分就不分,但是如果分表可以大大降低系统复杂度,那就分。比如通常的权限是TrueFalse判定,但是可能项目要求用户按vip等级管理,1级最大上传10照片,2级最大上传50张照片这种非TrueFalse判定,非要放在一起可能就很麻烦了,可以考虑分表。

当然从另一个角度来说,开发者说了我就要分(或者我就不分),反正我能实现要求,再麻烦我乐意。你能怎么滴?

还是一句话,看个人或需求
如果管理员和会员的鉴权方式一样,可以放在一起,不一样最好分开放
对于个人角度来说,我一般不会把用户展示和管理页面写在一起,避免验证

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
使用PHP和SQLite实现用户权限和访问控制使用PHP和SQLite实现用户权限和访问控制Jul 29, 2023 pm 02:33 PM

使用PHP和SQLite实现用户权限和访问控制在现代的web应用程序中,用户权限和访问控制是非常重要的一部分。通过正确的权限管理,可以确保只有经过授权的用户能够访问特定的页面和功能。在本文中,我们将学习如何使用PHP和SQLite来实现基本的用户权限和访问控制。首先,我们需要创建一个SQLite数据库来存储用户和其权限的信息。下面是简单的用户表和权限表的结构

Laravel中的用户管理和权限控制:实现多用户和角色分配Laravel中的用户管理和权限控制:实现多用户和角色分配Aug 12, 2023 pm 02:57 PM

Laravel中的用户管理和权限控制:实现多用户和角色分配引言:在现代的Web应用程序中,用户管理和权限控制是非常重要的功能之一。Laravel作为一种流行的PHP框架,提供了强大而灵活的工具来实现多用户和角色分配的权限控制。本文将介绍如何在Laravel中实现用户管理和权限控制的功能,并提供相关的代码示例。一、安装与配置首先,在Laravel中实现用户管理

如何实现PHP的用户登录和权限控制?如何实现PHP的用户登录和权限控制?Jun 29, 2023 pm 02:28 PM

如何实现PHP的用户登录和权限控制?在开发Web应用程序时,用户登录和权限控制是非常重要的功能之一。通过用户登录,我们可以对用户进行身份验证,并且基于用户的权限进行一系列的操作控制。本文将介绍如何使用PHP实现用户登录和权限控制功能。一、用户登录功能实现用户登录功能是用户验证的第一步,只有通过验证的用户才能进一步进行操作。下面是一个基本的用户登录实现过程:创

如何在Zend框架中使用ACL(Access Control List)进行权限控制如何在Zend框架中使用ACL(Access Control List)进行权限控制Jul 29, 2023 am 09:24 AM

如何在Zend框架中使用ACL(AccessControlList)进行权限控制导言:在一个Web应用程序中,权限控制是至关重要的一项功能。它可以确保用户只能访问其有权访问的页面和功能,并防止未经授权的访问。Zend框架提供了一种方便的方法来实现权限控制,即使用ACL(AccessControlList)组件。本文将介绍如何在Zend框架中使用ACL

PHP开发指南:如何实现网站访问权限控制PHP开发指南:如何实现网站访问权限控制Aug 18, 2023 pm 10:46 PM

PHP开发指南:如何实现网站访问权限控制在开发一个网站时,保护用户数据和确保敏感信息的安全性至关重要。一个常用且有效的方法是通过网站访问权限控制来限制不同用户对不同页面的访问权限。本文将介绍如何使用PHP实现网站访问权限控制,并提供一些代码示例来帮助您快速上手。步骤一:创建数据库表首先,我们需要创建一个数据库表来存储用户信息和权限。下面是一个示例的MySQL

如何处理Java后端功能开发中的权限控制?如何处理Java后端功能开发中的权限控制?Aug 10, 2023 pm 05:45 PM

如何处理Java后端功能开发中的权限控制?在Java后端功能开发中,权限控制是一个重要的问题。合理的权限控制能够保护系统的安全,防止未经授权的用户访问敏感数据或功能。本文将介绍一些常见的权限控制方法,并给出代码示例。一、基于角色的权限控制(RBAC)基于角色的权限控制是一种常见且实用的权限控制方式。它将用户与角色进行关联,而角色再与权限进行关联,通过给用户分

Django框架中的权限控制技巧(第二部分)Django框架中的权限控制技巧(第二部分)Jun 17, 2023 pm 07:08 PM

Django框架中的权限控制技巧(第二部分)在Django框架中,权限控制是非常重要的一环。在上一篇文章中,我们已经介绍了Django框架中的一些基础权限控制技巧,包括使用内置的权限认证系统和基于装饰器的权限控制。本篇文章将继续探讨Django框架中的其他权限控制技巧。自定义认证后端在Django框架中,我们可以使用自定义认证后端来实现定制化的认证逻辑。通过

PHP MySQL用户权限控制的开发实践PHP MySQL用户权限控制的开发实践Jul 01, 2023 am 08:31 AM

PHP开发实践:使用PHP和MySQL实现用户权限控制随着互联网的发展,越来越多的网站和应用程序需要实现用户权限控制功能,以确保用户只能访问他们被授权的资源。PHP作为一种广泛使用的服务器端编程语言,提供了丰富的工具和功能来实现用户权限控制。结合MySQL数据库,我们可以快速构建一个灵活而安全的权限控制系统。在本文中,我们将介绍如何使用PHP和MySQL实现

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境