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

本书共78小节:

评论 (写第一个评论)