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

本书共88小节:

评论 (写第一个评论)