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
型: WebSvcSecurity.SecurityGroupsDataSet1 つまたは複数のセキュリティ グループに関する情報が含まれています。
注釈
groupsパラメーターは、新しいグループを定義する、 SecurityGroupsテーブルに少なくとも 1 つのSecurityGroupsDataSet.SecurityGroupsRowを含める必要があります。SecurityGroupsDataTableのSecurityGroupsRowの複数のオブジェクトを含めることができます。Project Server には、次のそれぞれのSecurityGroupsRowを検証します。
一意のグループ名および GUID
(ある場合) は、ユーザーをグループの存在
5 つのDataTableオブジェクトは、 SecurityGroupsDataSetにあります。SecurityGroupsDataTableのみのデータを含める必要があります。データ テーブルでは、通りです。
SecurityGroups各行には、カテゴリ GUID、名、および説明を指定します。セキュリティ カテゴリを作成するには、GUID と名前を (WSEC_CAT_UID および WSEC_CAT_NAME) が必要です。
SecurityPrincipleCategoryRelations省略可能です。それぞれの行は、グループの GUID と、主なセキュリティ カテゴリ GUID を指定します。Primarycategories、 PSSecurityCategory構造体を参照してください。
CategoryPermissions省略可能です。行は、グループの GUID とカテゴリ権限の GUID を指定し、 AllowまたはDenyのアクセス許可を設定します。カテゴリ権限については、 PSSecurityCategoryPermission構造体を参照してください。
GlobalPermissions省略可能です。各行は、グループの GUID とグローバル アクセス権 GUID を指定し、 AllowまたはDenyのアクセス許可を設定します。グローバル アクセス権については、 PSSecurityGlobalPermission構造体を参照してください。
GroupMembers省略可能です。各行グループ GUID、リソース GUID を指定します。
有効なグループの例については、[追加] または [グループの編集] ページのフィールドおよび設定を参照してくださいにグループの管理] ページではProject Web Appグループをクリックします。
プロジェクト サーバーのアクセス許可
権限 |
説明 |
---|---|
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);
. . .