若きSEの備忘録

仕事で調べたことや気になったことを投稿します。

SPBasePermissions列挙型について

はじめに

今更ですが、SharePointの【SPBasePermissions列挙型】についてまとめます。
権限マスクを設定する事で、PowerShellC#などで書いたコード上で権限制御をすることが出来ます。
この記事は過去にQiitaで投稿したものと同じ内容です。

qiita.com

権限一覧

以下の表は、SharePoint Onlineで使用されている日本語名に対応しております。
(SharePointServer 2010と比較したら少し変わっていました...)

権限(英語) 権限(日本語) マスク値
EmptyMask 0
ViewListItems アイテムの表示 1
AddListItems アイテムの追加 2
EditListItems アイテムの編集 4
DeleteListItems アイテムの削除 8
ApproveItems アイテムの承認 16
OpenItems アイテムを開く 32
ViewVersions バージョンの表示 64
DeleteVersions バージョンの削除 128
CancelCheckout リストの動作を無視 256
ManagePersonalViews 個人ビューの管理 512
ManageLists リストの管理 2048
ViewFormPages アプリケーションページの表示 4096
Anonymous
SearchAccessList
8192
Open 開く権限 65536
ViewPages ページの表示 131072
AddAndCustomize
Pages
ページの追加とカスタマイズ 262144
ApplyThemeAnd
Border
テーマと枠線の適用 524288
ApplyStyleSheets スタイル シートの適用 1048576
ViewUsageData Web Analytics データの表示 2097152
CreateSSCSite セルフサービス サイト作成の使用 4194304
ManageSubwebs サブサイトの作成 8388608
CreateGroups グループの作成 16777216
ManagePermissions 33554432
BrowseDirectories ディレクトリの参照 67108864
BrowseUserInfo ユーザー情報の閲覧 134217728
AddDelPrivate
WebParts
個人用 Web パーツの
追加/削除
268435456
UpdatePersonal
WebParts
個人用 Web パーツの
更新
536870912
ManageWeb Web サイトの管理 1073741824
AnonymousSearchAccessWebLists 2147483648
UseClientIntegration クライアント統合機能
の使用
68719476736
UseRemoteAPIs リモート インターフェイスの使用 137438953472
ManageAlerts 通知の管理 274877906944
CreateAlerts 通知の作成 549755813888
EditMyUserInfo 個人のユーザー情報の編集 1099511627776
EnumeratePermissions 4611686018427380000
Full Mask 9223372036854775807

使用例

SharePointツールバーをカスタマイズする時に使用する[CustomAction要素]の[Rights属性]などで使用することができます。 例えば、【フルコントロール】権限のユーザーのみにツールバー上にボタンが表示されるようにしたい場合は、
<CustomAction Rights = "ManagePermissions"></CustomAction>
または、
<CustomAction Rights = "33554432"></CustomAction>
にします。

【アイテムの表示】、【アイテムを開く】、【開く権限】の3つを指定したい場合は、Mask列の数字をそれぞれ足した数字を指定します。
1+32+65536=65569
<CustomAction Rights = "65569"></CustomAction>

参考

SPBasePermissions Enum
https://docs.microsoft.com/en-us/dotnet/api/microsoft.sharepoint.spbasepermissions
CustomAction Element:
https://docs.microsoft.com/en-us/sharepoint/dev/schema/customaction-element

GitHubとAzure WebAppsで簡単サイト作成

Azure WebAppsについて書こうと思ったきっかけ

最近Azure WebAppsを使う機会があったのですが、簡単にサイトを作成できてとても便利でした。
今回は自分の勉強も兼ねてGitHubとの連携を試してみました。
この記事は2018年7月末に以下のサイトに投稿した記事です。
qiita.com

サイト作成の前提

以下の2つが必要です。(どちらも登録は無料です。)

手順

1. Azure WebAppsでWeb Appの作成

① Azureポータルで[すべてのサービス]-[App Service]をクリックします

② [追加]をクリックし、[Web App]で作成します
※ 今回は[Web App]を使いますが、テンプレートが充実しているので色々使ってみることをオススメします。
https://camo.qiitausercontent.com/85d22abe28173be6678a5946466330edefc20adc/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3237363239392f37633266303539662d646334652d666633612d313334312d3962613563373666613561362e706e67

③ 以下の情報を入力し、WebAppを作成します

項目名 説明
アプリ名 WebAppの名前を入力します。
URLに使用されます。
サブスクリプション サブスクリプションを選択します。
リソースグループ Web Appのリソースグループを選択します。
今回は新規で作成します。
OS WebAppのOSを選択します。
今回はWindowsを選択します。
App Service プラン アプリのコンテナです。
自動で作成されるものは有料なので、
以下の画面のように新しく作ります。
Application Insights パフォーマンスの管理や分析ができます。
今回は使用しません。

https://camo.qiitausercontent.com/ccf51a6183d07bdc28ffc49666c93b74527e2091/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3237363239392f66303862303334662d366131372d316439662d643666352d3362643531636261643965382e706e67
④ WebAppの完成です

2. GitHubリポジトリを作成

GitHubで右上のプラスボタンの[New Repository]をクリックします

② [Repository name]を入力します

③ [Initialize this repository with a README]にチェックを入れます

④ [Create repository]をクリックします
https://camo.qiitausercontent.com/378dbb63f696e28c5eccca29ad4dd0c43e4ae153/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3237363239392f33333834353930352d393938362d323663352d623234392d6532303430353230373339322e706e67
⑤ [Create new file]をクリックします。

⑥ [Name your file...]に[index.html]と入力し、以下を入力します。

<!DOCTYPE html>
<html lang="ja">
 <head>
  <title>HelloWorld</title>
  <meta charset="utf-8">
 </head>
 <body>
  HelloWorld
 </body>
</html>

⑦ 画面の下にスクロールし、[Commit new file]をクリックします。

リポジトリの完成です。

3. Web Appへのデプロイ

① 作成したWeb Appで[デプロイ オプション]をクリックします

② ソースの選択で[GitHub]を選択します

③ [承認]で[承認する]をクリックすると、認証画面が表示されます
 [Authorize Azure]をクリックし、Azureの画面で[OK]をクリックします。
https://camo.qiitausercontent.com/bbdef0dd287b47765cb6fadb92ff9427fef9e9c5/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3237363239392f33396232666566652d383831642d303332652d393831392d6366636666633030616431372e706e67

④ [プロジェクトの選択]でリポジトリを選択し、[OK]をクリックします

⑤ 作成したWeb Appの[概要]に記載されている[URL]をクリックします

⑥ HelloWorldと表示されればサイトの完成です
※ 反映されるまで少し時間がかかります。

まとめ

  • 10分ほどでサイトが作れる
  • GitHubでソースを管理できる
  • 基本無料で使える
  • とても便利