SharePoint 권한을 CSOM 개체 관점에서 봅니다.
10257 단어 SharePointCSOMC#
그런 다음 해당 콘텐츠에는 사용자 또는 그룹별로 권한이 할당됩니다.
이 게시물에서는 사이트 권한을 예로 들어 SharePoint 권한과 CSOM 개체를 연결하여 CSOM 개체에 대한 이해를 높이는 것을 목표로 합니다.
환경
샘플 코드
사이트 권한
사이트 콘텐츠 > 사이트 설정 > 사이트 권한을 열면 다음과 유사한 화면이 표시됩니다. 사이트 권한 화면에 표시되는 내용을 CSOM 개체로 바꾸면 다음과 같습니다.
권한 수준
사이트 권한 화면의 권한 탭에서 사용 권한 수준을 클릭하면 다음과 유사한 화면이 표시됩니다. 사용 권한 수준 화면에 표시되는 내용을 CSOM 개체로 바꾸면 다음과 같습니다.
CSOM에서 사이트 권한 출력
SharePoint 콘텐츠에 할당된 권한 정보를 출력하는 샘플 코드입니다.
SecurableObject 클래스를 상속하는 사이트(Web), 목록(List), 항목(ListItem) 클래스에서 유용할 수 있습니다.
securableObject.EnsureProperties(
// オブジェクトの権限を読み込む
w => w.RoleAssignments.Include(
r => r.Member.Title,
r => r.Member.PrincipalType,
// 対象オブジェクトの権限を与えられたユーザー or SPグループのアクセス許可レベルを読み込む
r => r.RoleDefinitionBindings.Include(
d => d.BasePermissions,
d => d.Name,
d => d.RoleTypeKind)));
// 対象オブジェクトの権限を出力
foreach (var roleAssignment in securableObject.RoleAssignments)
{
foreach (var roleDefinition in roleAssignment.RoleDefinitionBindings)
{
Console.WriteLine($"{roleAssignment.Member.Title} " +
$"| {roleAssignment.Member.PrincipalType} " +
$"| {roleDefinition.RoleTypeKind} " +
$"| {roleDefinition.BasePermissions.GetHashCode()} " +
$"| {roleDefinition.Name}");
}
}
// 出力結果
// ContosoCommunication 所有者 | SharePointGroup | Administrator | 2147483646 | フル コントロール
// ContosoCommunication 所有者 | SharePointGroup | WebDesigner | 1012866479 | デザイン
// ContosoCommunication 閲覧者 | SharePointGroup | Reader | 138613009 | 閲覧
// ContosoCommunication メンバー | SharePointGroup | Editor | 1011031199 | 編集
// user 100 | User | None | 1011029151 | 投稿コピー
CSOM에서 사이트 사용 권한 수준 출력
사이트의 액세스 권한 레벨을 출력하는 샘플 코드입니다.
사용 권한 수준은 상위 사이트에서 정의됩니다. 참조만 하면 어떠한 사이트(Web) 클래스의 객체로부터 취득할 수 있습니다.
web.EnsureProperties(
// サイトのアクセス許可レベルを読み込む
w => w.RoleDefinitions.Include(
r => r.RoleTypeKind,
r => r.BasePermissions,
r => r.Name,
r => r.Description));
// サイトのアクセス許可レベルを出力
foreach (var roleDefinition in web.RoleDefinitions)
{
Console.WriteLine($"{roleDefinition.RoleTypeKind} " +
$"| {roleDefinition.BasePermissions.GetHashCode()} " +
$"| {roleDefinition.Name} |" +
$"| {roleDefinition.Description}");
}
// 出力結果
// Administrator | 2147483646 | フル コントロール || 完全な制御が可能です。
// WebDesigner | 1012866479 | デザイン || 表示、追加、更新、削除、承認、カスタマイズができます。
// Editor | 1011031199 | 編集 || リストを追加、編集、削除できます。リスト アイテムとドキュメントを表示、追加、更新、削除できます。
// Contributor | 1011029151 | 投稿 || リスト アイテムとドキュメントを表示、追加、更新、および削除できます。
// Reader | 138613009 | 閲覧 || ページとリスト アイテム の表示、およびドキュメントのダウンロードができます。
// Guest | 134287408 | 制限付きアクセス || 権限を与えられている場合は、特定のリスト、ドキュメント ライブラリ、リスト アイテム、フォルダー、またはドキュメントを表示できます。
// None | 1011029151 | 投稿コピー ||
참조
SharePoint 사용 권한 수준 정보 | Microsoft Docs
Reference
이 문제에 관하여(SharePoint 권한을 CSOM 개체 관점에서 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shibatea/items/ba995e2ab5b78eddbed8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
securableObject.EnsureProperties(
// オブジェクトの権限を読み込む
w => w.RoleAssignments.Include(
r => r.Member.Title,
r => r.Member.PrincipalType,
// 対象オブジェクトの権限を与えられたユーザー or SPグループのアクセス許可レベルを読み込む
r => r.RoleDefinitionBindings.Include(
d => d.BasePermissions,
d => d.Name,
d => d.RoleTypeKind)));
// 対象オブジェクトの権限を出力
foreach (var roleAssignment in securableObject.RoleAssignments)
{
foreach (var roleDefinition in roleAssignment.RoleDefinitionBindings)
{
Console.WriteLine($"{roleAssignment.Member.Title} " +
$"| {roleAssignment.Member.PrincipalType} " +
$"| {roleDefinition.RoleTypeKind} " +
$"| {roleDefinition.BasePermissions.GetHashCode()} " +
$"| {roleDefinition.Name}");
}
}
// 出力結果
// ContosoCommunication 所有者 | SharePointGroup | Administrator | 2147483646 | フル コントロール
// ContosoCommunication 所有者 | SharePointGroup | WebDesigner | 1012866479 | デザイン
// ContosoCommunication 閲覧者 | SharePointGroup | Reader | 138613009 | 閲覧
// ContosoCommunication メンバー | SharePointGroup | Editor | 1011031199 | 編集
// user 100 | User | None | 1011029151 | 投稿コピー
사이트의 액세스 권한 레벨을 출력하는 샘플 코드입니다.
사용 권한 수준은 상위 사이트에서 정의됩니다. 참조만 하면 어떠한 사이트(Web) 클래스의 객체로부터 취득할 수 있습니다.
web.EnsureProperties(
// サイトのアクセス許可レベルを読み込む
w => w.RoleDefinitions.Include(
r => r.RoleTypeKind,
r => r.BasePermissions,
r => r.Name,
r => r.Description));
// サイトのアクセス許可レベルを出力
foreach (var roleDefinition in web.RoleDefinitions)
{
Console.WriteLine($"{roleDefinition.RoleTypeKind} " +
$"| {roleDefinition.BasePermissions.GetHashCode()} " +
$"| {roleDefinition.Name} |" +
$"| {roleDefinition.Description}");
}
// 出力結果
// Administrator | 2147483646 | フル コントロール || 完全な制御が可能です。
// WebDesigner | 1012866479 | デザイン || 表示、追加、更新、削除、承認、カスタマイズができます。
// Editor | 1011031199 | 編集 || リストを追加、編集、削除できます。リスト アイテムとドキュメントを表示、追加、更新、削除できます。
// Contributor | 1011029151 | 投稿 || リスト アイテムとドキュメントを表示、追加、更新、および削除できます。
// Reader | 138613009 | 閲覧 || ページとリスト アイテム の表示、およびドキュメントのダウンロードができます。
// Guest | 134287408 | 制限付きアクセス || 権限を与えられている場合は、特定のリスト、ドキュメント ライブラリ、リスト アイテム、フォルダー、またはドキュメントを表示できます。
// None | 1011029151 | 投稿コピー ||
참조
SharePoint 사용 권한 수준 정보 | Microsoft Docs
Reference
이 문제에 관하여(SharePoint 권한을 CSOM 개체 관점에서 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shibatea/items/ba995e2ab5b78eddbed8
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(SharePoint 권한을 CSOM 개체 관점에서 봅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shibatea/items/ba995e2ab5b78eddbed8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)