찾다
백엔드 개발PHP 튜토리얼ThinkPHP_php 스킬에서 RBAC 클래스의 4가지 용도 분석

이 기사의 예에서는 ThinkPHP에서 RBAC 클래스의 네 가지 용도를 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.

첫 번째 카테고리: 로그인 컨트롤러의 로그인 작업에 배치

1.RBAC::인증();

기본적으로 사용자 테이블 검색문인 사용자 테이블에서 양식으로 제출된 사용자 이름의 데이터를 찾는 데 사용됩니다.

코드 복사 코드는 다음과 같습니다.
return M(modle)->where(array)-> find() ;
이 작업에는 두 개의 매개변수가 있습니다

a.array() 배열의 작성 방법 및 기능은 테이블 조회 배열과 동일합니다.

코드 복사 코드는 다음과 같습니다.
array('field'=>'value','field' => 배열('조건','값'));

b.model은 테이블 이름이고 기본값은 구성 매개변수입니다.

코드 복사 코드는 다음과 같습니다.
C('USER_AUTH_MODEL ');
반환값은 1차원 배열로 표시된 쿼리 결과입니다.
참고: 사용자 테이블에 대한 단일 레코드 검색 방법이므로 검색문 없이도 직접 검색문을 사용할 수 있습니다.

2.RBAC::saveAccessList();

사용자가 제어할 수 있는 애플리케이션 이름(그룹 이름), 컨트롤러 이름, 동작 이름을 3차원 배열 형태로 세션에 씁니다.

매개변수는 사용자 ID입니다. 일반적으로 사용자 로그인 인증을 통과한 후 세션에 사용자 ID를 기록합니다.

코드 복사 코드는 다음과 같습니다:
C('USER_AUTH_KEY');

이 방법은 기본적으로 $_SESSION(C('USER_AUTH_KEY')) 매개변수를 사용합니다.

두 번째 범주: 공용 컨트롤러에 배치(권한 확인에 참여하는 모든 컨트롤러 클래스는 이 클래스에서 상속되어야 함)

3.RBAC::AccessDecision();

은 현재 사용자에게 현재 제어에 대한 권한이 있는지 확인하는 데 사용됩니다. 기본 매개변수는 애플리케이션 이름 APP_NAME입니다. 그룹 모드인 경우 그룹 이름 GROUP_NAME을

에 전달해야 합니다.

여기서 메소드가 호출됩니다

코드 복사 코드는 다음과 같습니다.
RBAC::checkAccess();
현재 컨트롤러나 오퍼레이션이 이 판단에 참여하는지 확인하는 데 사용됩니다.

참고: 4개의 구성 매개변수가 있으며, 2개를 작성해야 합니다.

컨트롤러 확인 필요: REQUIRE_AUTH_MODULE 작업 확인 필요: REQUIRE_AUTH_ACTION

검증 컨트롤러 필요 없음: NOT_AUTH_MODULE 검증 작업 필요 없음: NOT_AUTH_ACTION

전체 쓰기가 필요한 경우: REQUIRE_AUTH_ACTION에 쓰는 동안 해당 컨트롤러가 REQUIRE_AUTH_MODULE에 작성되어야 합니다.

전체 쓰기가 필요하지 않은 경우: 컨트롤러가 NOT_AUTH_MODULE로 작성된 경우 해당 컨트롤러의 모든 메서드는 확인이 필요하지 않습니다.

NOT_AUTH_ACTION 단독으로 연산을 작성할 경우 연산 이름이 중복되는 문제에 주의해야 합니다.

4.RBAC::checkLogin();

사용자의 로그인 여부를 확인하는 데 사용됩니다.
참고: 로그인 후 홈 페이지에는 이 작업이 검증에 참여해야 한다고 표시되므로 각 역할에는 이 작업을 추가할 수 있는 권한이 있어야 합니다.

이 방법을 건너뛰고 $_SESSION[C('USER_AUTH_KEY')]가 존재하는지 직접 확인할 수도 있습니다. 존재하지 않는 경우 로그인 인터페이스로 이동하면 홈 페이지에 확인 없이 이 작업이 표시됩니다. 로그인.

이 글이 모든 분들의 ThinkPHP 프레임워크 프로그래밍에 도움이 되기를 바랍니다.

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
thinkphp是不是国产框架thinkphp是不是国产框架Sep 26, 2022 pm 05:11 PM

thinkphp是国产框架。ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。

一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列一起聊聊thinkphp6使用think-queue实现普通队列和延迟队列Apr 20, 2022 pm 01:07 PM

本篇文章给大家带来了关于thinkphp的相关知识,其中主要介绍了关于使用think-queue来实现普通队列和延迟队列的相关内容,think-queue是thinkphp官方提供的一个消息队列服务,下面一起来看一下,希望对大家有帮助。

thinkphp的mvc分别指什么thinkphp的mvc分别指什么Jun 21, 2022 am 11:11 AM

thinkphp基于的mvc分别是指:1、m是model的缩写,表示模型,用于数据处理;2、v是view的缩写,表示视图,由View类和模板文件组成;3、c是controller的缩写,表示控制器,用于逻辑处理。mvc设计模式是一种编程思想,是一种将应用程序的逻辑层和表现层进行分离的方法。

实例详解thinkphp6使用jwt认证实例详解thinkphp6使用jwt认证Jun 24, 2022 pm 12:57 PM

本篇文章给大家带来了关于thinkphp的相关知识,其中主要介绍了使用jwt认证的问题,下面一起来看一下,希望对大家有帮助。

thinkphp扩展插件有哪些thinkphp扩展插件有哪些Jun 13, 2022 pm 05:45 PM

thinkphp扩展有:1、think-migration,是一种数据库迁移工具;2、think-orm,是一种ORM类库扩展;3、think-oracle,是一种Oracle驱动扩展;4、think-mongo,一种MongoDb扩展;5、think-soar,一种SQL语句优化扩展;6、porter,一种数据库管理工具;7、tp-jwt-auth,一个jwt身份验证扩展包。

thinkphp 怎么查询库是否存在thinkphp 怎么查询库是否存在Dec 05, 2022 am 09:40 AM

thinkphp查询库是否存在的方法:1、打开相应的tp文件;2、通过“ $isTable=db()->query('SHOW TABLES LIKE '."'".$data['table_name']."'");if($isTable){...}else{...}”方式验证表是否存在即可。

一文教你ThinkPHP使用think-queue实现redis消息队列一文教你ThinkPHP使用think-queue实现redis消息队列Jun 28, 2022 pm 03:33 PM

本篇文章给大家带来了关于ThinkPHP的相关知识,其中主要整理了使用think-queue实现redis消息队列的相关问题,下面一起来看一下,希望对大家有帮助。

thinkphp3.2怎么关闭调试模式thinkphp3.2怎么关闭调试模式Apr 25, 2022 am 10:13 AM

在thinkphp3.2中,可以利用define关闭调试模式,该标签用于变量和常量的定义,将入口文件中定义调试模式设为FALSE即可,语法为“define('APP_DEBUG', false);”;开启调试模式将参数值设置为true即可。

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 Hentai를 무료로 생성하십시오.

뜨거운 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경