Thứ Hai, 25 tháng 10, 2010

SharePoint PermissionMask

I found the values in C:\Program Files (x86)\Microsoft Office\Office14\CAML2XSL.XSL

<!-- keep in sync with global.cs!!!
EmptyMask =0x0000000000000000,

// list/document perms =0x000000000000XXXX,
ViewListItems =0x0000000000000001,
AddListItems =0x0000000000000002,
EditListItems =0x0000000000000004,
DeleteListItems =0x0000000000000008,
ApproveItems =0x0000000000000010,
OpenItems =0x0000000000000020,
ViewVersions =0x0000000000000040,
DeleteVersions =0x0000000000000080,
CancelCheckout =0x0000000000000100,
ManagePersonalViews =0x0000000000000200,
// UnusedList10 =0x0000000000000400, /* obsolete ManageListPermission */
ManageLists =0x0000000000000800,
ViewFormPages =0x0000000000001000,
// UnusedList20 =0x0000000000002000,
// UnusedList40 =0x0000000000004000,
// UnusedList80 =0x0000000000008000,

// web level perms =0x0000XXXXXXXX0000,
Open =0x0000000000010000,
ViewPages =0x0000000000020000,
AddAndCustomizePages =0x0000000000040000,
ApplyThemeAndBorder =0x0000000000080000,
ApplyStyleSheets =0x0000000000100000,
ViewUsageData =0x0000000000200000,
CreateSSCSite =0x0000000000400000,
ManageSubwebs =0x0000000000800000,
CreateGroups =0x0000000001000000,
ManagePermissions =0x0000000002000000,
BrowseDirectories =0x0000000004000000,
BrowseUserInfo =0x0000000008000000,
AddDelPrivateWebParts =0x0000000010000000,
UpdatePersonalWebParts =0x0000000020000000,
ManageWeb =0x0000000040000000,
UseRemoteAPIs =0x0000002000000000,
ManageAlerts =0x0000004000000000,
CreateAlerts =0x0000008000000000,
EditMyUserInfo =0x0000010000000000,

// special perms =0xXXXX000000000000,
EnumeratePermissions =0x4000000000000000,

// end of list
FullMask =0x7FFFFFFFFFFFFFFF,
-->

GetPermissionMask

<xsl:template name="GetPermissionMask">

<xsl:variable name="Permission" select="name(@*[1])"/>

<xsl:choose>
<xsl:when test="$Permission='PermEmptyMask'">0</xsl:when>
<xsl:when test="$Permission='PermViewListItems'">1</xsl:when>
<xsl:when test="$Permission='PermAddListItems'">2</xsl:when>
<xsl:when test="$Permission='PermEditListItems'">4</xsl:when>
<xsl:when test="$Permission='PermDeleteListItems'">8</xsl:when>
<xsl:when test="$Permission='PermApproveItems'">16</xsl:when>
<xsl:when test="$Permission='PermOpenItems'">32</xsl:when>
<xsl:when test="$Permission='PermViewVersions'">64</xsl:when>
<xsl:when test="$Permission='PermDeleteVersions'">128</xsl:when>
<xsl:when test="$Permission='PermCancelCheckout'">256</xsl:when>
<xsl:when test="$Permission='PermManagePersonalViews'">512</xsl:when>
<xsl:when test="$Permission='PermManageLists'">2048</xsl:when>
<xsl:when test="$Permission='PermViewFormPages'">4096</xsl:when>
<xsl:when test="$Permission='PermOpen'">65536</xsl:when>
<xsl:when test="$Permission='PermViewPages'">131072</xsl:when>
<xsl:when test="$Permission='PermAddAndCustomizePages'">262144</xsl:when>
<xsl:when test="$Permission='PermApplyThemeAndBorder'">524288</xsl:when>
<xsl:when test="$Permission='PermApplyStyleSheets'">1048576</xsl:when>
<xsl:when test="$Permission='PermViewUsageData'">2097152</xsl:when>
<xsl:when test="$Permission='PermCreateSSCSite'">4194314</xsl:when>
<xsl:when test="$Permission='PermManageSubwebs'">8388608</xsl:when>
<xsl:when test="$Permission='PermCreateGroups'">16777216</xsl:when>
<xsl:when test="$Permission='PermManagePermissions'">33554432</xsl:when>
<xsl:when test="$Permission='PermBrowseDirectories'">67108864</xsl:when>
<xsl:when test="$Permission='PermBrowseUserInfo'">134217728</xsl:when>
<xsl:when test="$Permission='PermAddDelPrivateWebParts'">268435456</xsl:when>
<xsl:when test="$Permission='PermUpdatePersonalWebParts'">536870912</xsl:when>
<xsl:when test="$Permission='PermManageWeb'">1073741824</xsl:when>
<xsl:when test="$Permission='PermUseRemoteAPIs'">137438953472</xsl:when>
<xsl:when test="$Permission='PermManageAlerts'">274877906944</xsl:when>
<xsl:when test="$Permission='PermCreateAlerts'">549755813888</xsl:when>
<xsl:when test="$Permission='PermEditMyUserInfo'">1099511627776</xsl:when>
<xsl:when test="$Permission='PermEnumeratePermissions'">4611686018427387904</xsl:when>
<xsl:when test="$Permission='PermFullMask'">9223372036854775807</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:template>

Không có nhận xét nào:

Đăng nhận xét