37. 权限系统(下)

龸龷龶龴龰龯龬龩龦龢龞龚龗龔龒龎龷龶龋龊龆龸龃龩龦龁龚龗齽齻齹齵龷龶龋龊龆齳齯齬龸齪齩齨齦龦齤齣龯齢齟齞龷龶齞齛齗齖齒齑齒齪齩齽齻齹齵龯龷龶龋龊齍齌齈龆齄齂鼾鼼鼻鼸鼷鼴鼳

齢齟齞齛齗齞龷龶鼳

Drupal龯龷龶龴龰鼡鼞龔鼛鼗齛齗龯鼕鼔鼑鼐RBAC鼈Role-Based Access Control黮龆黫黩黦黢龴龰黟鼡鼞RBAC龆點黚黙鼗黗龰龯鼕鼔鼑鼐龆齯黔黑oop黚黙鼗黎黍黌黊黍黆黂龯麿麻麷麴龆麱麮麭龴龰龯麩麧麦麢龔麠黩龯麟麜龆麘麔麐齖麍麌麷龃RBAC龔麉麇黩齌齈龆麃鹿鹽龷龶龴龰龯鹹鹸齬麷鹴麐齖麠鹳龒龯鹯鹭龆drupal鹿黦龔鼛鹬龯齢齟齞齛齗齞龷龶鹪鹨龆麿鹤龔麷鹴鹢鼞鼛鹬龆鼻鹢鹡鹝鹙鹗鼞龔龆鹕鹽鹔鹒麜鹏齂鼾麐齖龸鹎鼛鹬龬鹊鹇鹆鹔鹒龯龷龶龴龰龆鹃黑齑齒龷龶鹀鸼齞鸹鸶龷龶齍鼔鹭龆鼻鼸龚龗鼛鸵鹪鹨鼳

龷龶鼳鹕鹽鸳鸯鸭鸩鸦鸤鸩龯鸡鸠龆龸黢鸟鸝鹕麷鹴龷龶鼞麷鹴id黂黢鸘龆鸕id齬麷鹴鸓鸑鸎麷龯鸋鸈鸇鸅

齛齗鼳齬麷鸃鷿鷼鸘鷻龆龸黢鸟鸝鹕齬麷鷸龷龶龯鷷鷵

齢齟鼳麷鹴鷳鷱龯鷮鼞麔龆齢齟鷪齛齗齬黩鹽黩龯鷧龴龆齳齯齬鷥麷鹴齢齟麐齖鷣鷡鷞麠黩齛齗鼈鷛鷚麠黩鷿鷼黮龆麷鹴齛齗齳麐齖鷚黫黩齢齟鼈鸳鸃鷿鷼麐齖鷚黫黩鹴鷘黮龆齯黔黑麷鹴鷖鷕龯鷔鷑鷎鷍鼳麷鹴鷘麐齖鷋鷈齬鷆鷃鷪鶿龎黊齵龆鷆鷃鶻鶹麐齖鷚黫黩鹴鷘龆鼻鼸鷘齯齬齢齟龆鶷鶹齯齬齛齗鸅

鶵鶲齛齗鸦齢齟鼳

龸drupal龦鷚鶮鶬鶵鶲齛齗鼳

鶨鶤鶠龯鼞齟鼈鶜鶙鶖鷆黮鸡鼗鶜鶙齛齗龆龸鶖鷆鼕鼔鶿龎鷈龴龰齳鶕鹇鶒齢齟鹽鶐龆鸕齢齟鹽鶐鸡鼗鶜鶙齛齗龆齢齟id麱0龆鶜鶙齛齗齬鸤鸩鷣鼞鼗齢齟鷡鷞龯鼈齳齯齬鷥鶜鶙齛齗鷪麃鶍齛齗齬鶌鶈龯龆麷鹴齢鶄鸤鸩鷋鷈鷛鷚鶜鶙齛齗鷪麃鶍鸳齛齗黮龆鶂麐齖麱點鷡鷞龷龶齖鼑鼐鶖鷆龯鵿鵽龷龶鸅

龴龰鵻鵷鵴鼴麢齨鶕鹇鶒齪齩鵳齛齗龆鸕齛齗鷛鷚鵲鷚龷龶龆麃鹿龸龴龰齌鵰鵬鵨齬鷳鵦齪齩鵳齛齗龆鵢鸵齯鸤鶕鵞鵚鵖龷龶龋龊齹齵龆鵓鵏鵋鵈鵇黫龆鸕齛齗鸤鸩鵆鵖龷龶鷡鷞龆鶂麐齖鵆鵖齢齟鷡鷞龆鵂鹎龴龰麐齖鷚黩鹴鴿鴼齪齩鵳龆齳鴺麱鴹鴶齢鶄龆麷鴳鷡鷞鼻鹴齛齗齨龆齯鴱鷚鴭鵨鷡鷞麃鶍齛齗龔龆龸鹿鴩鸯鸭龦鴦鼗鼻鹴齛齗龷龶鴤麮鹇鴢鸤鵨鼞鼻麴龯齢鶄鵞鶤鶠鴟鴞鵻鸓鴚鴖龆鴔鷈鼞鷈鷮鼞鴐鴎龯齢鶄龆鴌鷮鷣鴊鶄龆鴈鴆齳齬鷚龶龯鸅

鴃齖龬鶮鹴鶵鶲齛齗鳿龆鵲鷚鶤鶠龯齢鶄鳾鸡鼗鹝鶤鶠齛齗龆鳺鸹鷡鷞鳶鸤麐鳴鳳龆鷮鼞鸕齛齗麐齖麱鹝鶤鶠鼞齟鷞鳯鼛鸵龯龷龶龆點鷪鶜鶙齛齗齞齪齩鵳齛齗齬龴龰鵻鵷齨鵿鵽鹇鶒龯鳭麮齛齗鸅

鹢黎龷龶黂鼑鼐鸩鳫鼕鼔鸳鳨鹕鼳

齳麐齖鷥齬鹢黎龷龶黂鳧鳣鸩鳫鵆龒鸳鹴鳟鴦龆鼻齬龸鳟鴦鳝鳜鼸鹕麩鳯龷龶龋龊鳛黂鹿黦龯鼈鳘龬龩黮鼳

鼞齟龷龶龋龊鳛access_check.permission鼳

龋龊鳊鳇鼳 _permission龆鳄鳁鼳access龆鲿鲾鲺鲹鹽鶐

鶬鼳Drupal\user\Access\PermissionAccessCheck

龋龊鳊鳇龯鲱黢鸘鼞齟龷龶龆齢齟鹽鶐鲭鲪鴌麐鵆龒龆鲧鲣鲠鲜龆黩鹴龷龶鷮鼞鷡鲛鸈鷡鲙龆鷡鲛鸈鲘+鲑鸘鷻OR鷧龴龆鲘龆鲑鸘鷻AND鷧龴龆鼻鶮鸃鷡鲛鸈鸤麐麷鲉鷮鼞龆鹔鹒鳧鳣麐齖鷮鼞鳺鳝鳜鵈鲈龋龊鳛黂鲅鸅

OR鷪AND鸤鸩麷鲉鷮鼞麱鲄鲂鱿鱽龷龶鱻齬鱷鲂黂龯鱿鱽黑鱳鳧鳣鼞齟齬鳫鷳鵦鸳龷龶鱽黆鱲鼻鷸鼔鹭黂齤齤drupal齬鱷鲂鹿黦龯鸅

鼞齟龷龶鳧鳣鼳

鳧鳣鼞齟齬鳫鷳鵦鸳龷龶齬鼼鼞齟齢齟鹽鶐龦鱮鱫龯龆鵿鵽齢齟鹽鶐麱鼳

Drupal\Core\Session\UserSession

龸龬龩龦鹝鹙鷥鱣龔點齬黑鱳鵴鼴麢龆齖齒黑鱳龸龴龰龦鱟鳴龆鹿鱞麢齢齟鹽鶐齬龸鼳

Drupal\user\Authentication\Provider\Cookie龯getUserFromSession(SessionInterface $session)鳄鳁龦

麐齖齤鹆鷮鼞龔鶮鱌鱊鱆鱂鸘鼳

users_field_data鼳鱀鰽鼞齟龯鼛鸵鰻鰺

user__roles鼳鱀鰽鼞齟龯齛齗鰻鰺龆鷋麷鹴鼞齟鷚黩鰷鹴齛齗鰳鲂龸鸕鸘龦齯鶕鷚黩鰷鰯鰫鶠鼈鶜鶙齛齗鷪鹝鰩鰥齛齗鸤鶕鰽鰡黮龆鰝鼞齟鰽龸鳶鴱鷚鷣鰙鼞龯麜鹏龃龆鶕龊鰖鸕鸘龆龁齛齗鰕鰔鷷鰐齣鼛鸵鰻鰺鱊鷔龦龆麷鲉黗鰎齢齟鹽鶐龆鼻鼸鲾鵨鰩鰌鰈鰇鷚鷸鸋鰅龸齢齟鹽鶐龦鴱鷚鸡鸠鰁鱣龆鶂鯽鰇鶕鷣鰩龒龆鹃黑鼳

$user = \Drupal::currentUser()->getAccount();

echo $user->pass;

黂齤麷齤鼻鶮鹴鸘龯麩麧鼳

users_field_data鸘鼳

uid鼳鼞齟id,鯪鯨麱10龯鯡麭龆麐齖齤鹆鸩鰩鰥鯟鯜鴼鯛鱊鯘龯鼞齟

langcode鼳鯔鯑黢鸟龆鹃黑龦鯏麱zh-hans,鯉鯏麱en

preferred_langcode鼳鯈鯅鯔鯑龯鯔鯑黢鸟

preferred_admin_langcode鼳齪齩鯃鹕龦鯈鯅鯔鯑龯鯔鯑黢鸟

name鼳鼞齟鶙龆鯪鯨麱60鯉鯏鸋鸈龆麱齢齟鶙龆鮾鸤齬龸鳨鹕龦鮼鷻龯鮻鴺

pass鼳鮷鮵鮲齩龯鮰鸟hash龆鯪鯨麐齖麱255鯉鯏鸋鸈

mail鼳鼞齟鮪鮦

timezone鼳鼞齟鷈鮣鳊鳇鸈

status鼳鼞齟鮡鸶龆鼞齖鸘鷻鼞齟齬鳫鷣鮠鮝鰙鼞龆1麱鮚鹡龆0麱鰙鼞

created鼳齢齟鮗鹇鷈鮖龆unix鷈鮖鮐鮌黌

changed鼳齢齟鮋鮊鷈鮖

access鼳齢齟鮈齨麷鮆鼕鼔龯鷈鮖

login鼳鼞齟鮈齨鶤鶠龯鷈鮖

init鼳鮗鹇齢鶄鷈鷮鼞龯鼞齟鮪鮦

default_langcode鼳鵿鵽鯔鯑黢鸟

鼞齟龸齪齩齨齦鮄鮷龯齢齟鮀魼鸋鰅鸤鶕鰽鰡龸鸕鸘龦龆鮾齬魸鹴鸋鰅鳾魴鶒魲魱麷鱌鱊鱆鱂鸘

user__roles鸘鼳

bundle鼳鱊鱆鸡鼗魬鹴魨魤

deleted鼳鸘鱣鱊鱆齬鳫鹝鹙鷣魢鴃龆bool鲱

entity_id鼳鱊鱆鵲鸡龯鹿鷱id龆齳齯齬uid

revision_id鼳鱊鱆鵲鸡鹿鷱魞鸵龆鹽鼗鼞齟齢齟鹿鷱黂鷥鸤鰽龸鹿鷱魞鸵龆點鷪鹿鷱id麷麴

langcode鼳鯔鯑黢鸟

delta鼳黩鲱鷈魝魙鷮鼞

roles_target_id鼳魗鳊鹿鷱龯id龆齛齗麃鹿齬麷鹴鹿鷱

魓麐鸩鹝鹙鰌鳇齣龔齛齗鵲鷳鵦龯龷龶鰕鰔鰐鴱鷚鰽鰡龸鼻鶮鸘龦龆鹿鴩龬點鴦鷞鳯龴龰鷪鹿鷱龴龰黂魒魐魎鰽鷪麿鹤鷮鼞鵏魊龆鴦鼗鼻鶮鹴龴龰齑齒齌齈黙黩龆龸龴龰龦鮲鼗麠魈鵨龯鶹鳯龆鸤魆鷮鼞龸龷龶龴龰龦龆魃鷮鼞龸鯛龯魀鳄龆鵲齖鸵龴鬼龁鷡鯛鬸魴鬶麉龆鼻鼸鬴鷈魆麿鹤鷮鼞龯鵏魊龆鸤鴭鹳龒龔麉鷳鷱龞鬲鸅

龸鼞齟齢齟鹽鶐龦鷚鶮鹴鷪龷龶黚鷧龯鳄鳁龆齬龷龶龴龰麿鹤龯鼷鬱鵏魊龆麐齖鹤齂鼾黂鵆鵖龷龶鳧鳣鼳

鱟鳴鼞齟鷳鵦龯齛齗鼳

public function getRoles($exclude_locked_roles = FALSE)

龸鼑鼐鳛龦龯鷮鼞鳄鳁鼳\Drupal::currentUser()->getRoles($exclude_locked_roles = FALSE);

鱮齣鼞齟鵲鸡龯齛齗龆鵋鵈麷鹴鱊鷔龆龴龰鷚鶮鹴鶵鶲齛齗鼳鶜鶙齛齗齞鹝鰩鰥鼞齟齛齗龆鬨鱊麱true鷈魝鴃鼻鶮鹴鶵鶲齛齗

鳧鳣鼞齟齬鳫鷳鵦鸳龷龶鼳

public function hasPermission($permission)

龸鼑鼐鳛龦龯鷮鼞鳄鳁鼳\Drupal::currentUser()->hasPermission($permission);

鵋鵈bool龆鸘鱣鼞齟齬鳫鷚鸳龷龶龆uid麱1龯鼞齟齢齟麱龴龰鴹鴶齢齟龆龸龴龰鵻鵷鷈麩鳯龆點鷛鷚鵲鷚龷龶

鬤鬢鼳

鰝鸳齢齟鷋鷈鷳鵦鶮鹴齛齗龆鶂齛齗鳝鳜龯龷龶黚鬟鬝龆龴龰鱷鲂鮲齩鱽鹃黑鬜鹽鸳龷龶麷鹴齛齗鵇黫龆鬙鳿麷鹴鸤鵇黫鸅

鼻鵬齬鹴龷龶鷚鲿龯鼔鹭龆鷚龷龶齯鵇黫龆鲧鲣鸤鵇黫龆鵬鵨鷳鵦龯齛齗龦鷚麷鹴齛齗鷚龷龶龆鬘鬕齯鷚龷龶龆龸鹎鳄鳁龦麐齖齤鹆黂鼳Drupal\user\RoleStorage:: isPermissionInRoles($permission, array $rids).

鸵龩齯龚龗齣鼻鼸龆鬔齣鷞鳯龴龰鷪鹿鷱龴龰龚龗鬑鬍龆龁鹽鵲鷚龞鬲鸓鰇龔麉鸅

API鬌鳄鬨鬢鼳

https://api.drupal.org/api/drupal/core%21core.api.php/group/user_api/8.3.x

本书共63小节:

评论 (写第一个评论)