Symfony2許可權相關語句備忘

2021-09-22 05:10:56 字數 3372 閱讀 5868

與symfony2許可權相關的語句在官方文件上不是很全,每次要用到時查詢起來十分費勁,所以在這裡列出與symfony2許可權相關的語句,以備查:

/**

* 生成securityidentity

*///基於使用者生成securityidentity

$securityidentity

= usersecurityidentity::fromaccount(

$user

); //基於角色生成securityidentity

$securityidentity

= new

rolesecurityidentity(

$role

->getrole()); 

/*** 生成objectidentity

*///基於物件生成objectidentity

$objectidentity

= objectidentity::fromdomainobject(

$comment

);  

//基於類生成objectidentity

$objectidentity

= new

objectidentity(

'some_identifier'

, 'class\fqcn'

); /**

* 生成acl

*/$acl

= $aclprovider

->createacl(

$objectidentity

); //插入ace(基於物件)

$acl

->insertobjectace(

$securityidentity

, maskbuilder::mask_owner);  

//插入ace(基於類)

$acl

->insertclassace(

$securityidentity

, maskbuilder::mask_create); 

$aclprovider

->updateacl(

$acl

); /**

* 判斷許可權

*/$securitycontext

= $this

->get(

'security.context'

); $securitycontext

->isgranted(

'create'

, $classidentity

);  

// 返回真

$securitycontext

->isgranted(

'view'

, $classidentity

);    

// 返回真

$securitycontext

->isgranted(

'delete'

, $classidentity

);  

// 返回假

/***ace的增刪改查

*///插入基於物件的ace

$acl

->insertobjectace(securityidentityinte***ce 

$sid

, $mask

, $index

= 0, 

$granting

= true, 

$strategy

= null)

;//插入基於物件欄位的ace

$acl

->insertobjectfieldace(

$field

, securityidentityinte***ce 

$sid

, $mask

, $index

= 0, 

$granting

= true, 

$strategy

= null)

;//插入基於類的ace

$acl

->insertclassace(securityidentityinte***ce 

$sid

, $mask

, $index

= 0, 

$granting

= true, 

$strategy

= null)

;//插入基於類字段的ace

$acl

->insertclassfieldace(

$field

, securityidentityinte***ce 

$sid

, $mask

, $index

= 0, 

$granting

= true, 

$strategy

= null)

;//刪除ace

$acl

->deleteobjectace(

$index) ;

$acl

->deleteobjectfieldace(

$index

, $field

); $acl

->deleteclassace(

$index

) ;$acl

->deleteclassfieldace(

$index

, $field

); //更新ace

$acl

->updateobjectace(

$index

, $mask

, $strategy

= null)

;$acl

->updateobjectfieldace(

$index

, $field

, $mask

, $strategy

= null)

;$acl

->updateclassace(

$index

, $mask

, $strategy

= null) ;

$acl

->updateclassfieldace(

$index

, $field

, $mask

, $strategy

= null)

;//得到ace

$acl

->getobjectaces() ;

$acl

->getobjectfieldaces(

$field) ;

$acl

->getclassaces() ;

$acl

->getclassfieldaces(

$field) ;

Symfony2函式使用

1.呼叫其他物件的方法。例 grobal func this container get global func global func 函式所在的檔名 lot data global func getdatafromfile parm1 getdatafromfile函式名 2.資料庫的預備查詢 ...

symfony2 學習筆記

1 建立entities 儲存的 string 型別 使用 datetime控制項編輯 transformer string to date builder add starttime datetime builder get starttime addmodeltransformer new ca...

安裝symfony2 如此簡單!

2 安裝composer時選擇php.exe的路徑,我用的是xampp,所以路徑為c xampp php。安裝好cmd下執行composer 看看是否成功了 3 在頁面上有composer安裝symfony的命令列,拷貝下來 我安裝的是2.3 命令為 composer create project ...