次の方法で共有


Security.CreateGroups メソッド

1 つまたは複数のセキュリティ グループを作成します。

名前空間:  WebSvcSecurity
アセンブリ:  ProjectServerServices (ProjectServerServices.dll 内)

構文

'宣言
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CreateGroups", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Security/",  _
    ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/Security/",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Sub CreateGroups ( _
    groups As SecurityGroupsDataSet _
)
'使用
Dim instance As Security
Dim groups As SecurityGroupsDataSet

instance.CreateGroups(groups)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/Security/CreateGroups", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Security/", 
    ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/Security/", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public void CreateGroups(
    SecurityGroupsDataSet groups
)

パラメーター

注釈

groupsパラメーターは、新しいグループを定義する、 SecurityGroupsテーブルに少なくとも 1 つのSecurityGroupsDataSet.SecurityGroupsRowを含める必要があります。SecurityGroupsDataTableのSecurityGroupsRowの複数のオブジェクトを含めることができます。Project Server には、次のそれぞれのSecurityGroupsRowを検証します。

  • 一意のグループ名および GUID

  • (ある場合) は、ユーザーをグループの存在

5 つのDataTableオブジェクトは、 SecurityGroupsDataSetにあります。SecurityGroupsDataTableのみのデータを含める必要があります。データ テーブルでは、通りです。

  1. SecurityGroups各行には、カテゴリ GUID、名、および説明を指定します。セキュリティ カテゴリを作成するには、GUID と名前を (WSEC_CAT_UID および WSEC_CAT_NAME) が必要です。

  2. SecurityPrincipleCategoryRelations省略可能です。それぞれの行は、グループの GUID と、主なセキュリティ カテゴリ GUID を指定します。Primarycategories、 PSSecurityCategory構造体を参照してください。

  3. CategoryPermissions省略可能です。行は、グループの GUID とカテゴリ権限の GUID を指定し、 AllowまたはDenyのアクセス許可を設定します。カテゴリ権限については、 PSSecurityCategoryPermission構造体を参照してください。

  4. GlobalPermissions省略可能です。各行は、グループの GUID とグローバル アクセス権 GUID を指定し、 AllowまたはDenyのアクセス許可を設定します。グローバル アクセス権については、 PSSecurityGlobalPermission構造体を参照してください。

  5. GroupMembers省略可能です。各行グループ GUID、リソース GUID を指定します。

有効なグループの例については、[追加] または [グループの編集] ページのフィールドおよび設定を参照してくださいにグループの管理] ページではProject Web Appグループをクリックします。

プロジェクト サーバーのアクセス許可

権限

説明

ManageUsersAndGroups

Project Server のユーザーとグループを管理することができます。グローバル アクセス権。

次の例では、セキュリティ グループを作成する、グループにリソースを追加およびグループのAllowを設定するグローバル アクセス許可を追加します。

詳細については、グループに 1 つのセキュリティ カテゴリを作成する完全なサンプル アプリケーションは、PSI のセキュリティ メソッドを使用してを参照してください。

using System;
using System.Net;
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
CookieContainer cookiecontainer = new CookieContainer();
SvcSecurity.Security security = new SvcSecurity.Security();
security.Url = "https://ServerName/ProjectServerName/_vti_bin/psi/security.asmx";
security.CookieContainer = cookiecontainer;
security.Credentials = System.Net.CredentialCache.DefaultCredentials;
. . .
// Create a GUID for the new group.
Guid groupGuid = Guid.NewGuid();

// Specify basic group information.
SvcSecurity.SecurityGroupsDataSet groupDs =
   new SvcSecurity.SecurityGroupsDataSet();
SvcSecurity.SecurityGroupsDataSet.SecurityGroupsRow groupRow =
   groupDs.SecurityGroups.NewSecurityGroupsRow();
groupRow.WSEC_GRP_NAME = "SDK Test Group";
groupRow.WSEC_GRP_UID = groupGuid;
groupRow.WSEC_GRP_DESC = "This is the SDK Test Group.";
groupDs.SecurityGroups.AddSecurityGroupsRow(groupRow);

// Set the GUID for an existing resource.
Guid resourceUid = new Guid("a1fcbf91-e91d-44e2-a4a7-3b4b698cb984");

// Add the resource to the new group.
SvcSecurity.SecurityGroupsDataSet.GroupMembersRow groupMembersRow =
   groupDs.GroupMembers.NewGroupMembersRow();
groupMembersRow.WSEC_GRP_UID = groupGuid;
groupMembersRow.RES_UID = resourceUid;
groupDs.GroupMembers.AddGroupMembersRow(groupMembersRow);

// Specify a global permission for the group.
SvcSecurity.SecurityGroupsDataSet.GlobalPermissionsRow globalPermRow =
   groupDs.GlobalPermissions.NewGlobalPermissionsRow();
globalPermRow.WSEC_GRP_UID = groupGuid;
// Add a permission that applies to the group. 
// For example, add the "About Microsoft Office Project Server" permission.
globalPermRow.WSEC_FEA_ACT_UID = 
   PSLibrary.PSSecurityGlobalPermission.AboutMicrosoftOfficeProjectServer;
globalPermRow.WSEC_ALLOW = true;
groupDs.GlobalPermissions.AddGlobalPermissionsRow(globalPermRow);

// Now that all the rows are added to the relevant tables,
// create the group.
security.CreateGroups(groupDs);

. . .

関連項目

参照先

Security クラス

Security メンバー

WebSvcSecurity 名前空間