Proprietà IVSSUser.ProjectRights
Ottiene o imposta i diritti dell'utente per un progetto specifico.
Spazio dei nomi: Microsoft.VisualStudio.SourceSafe.Interop
Assembly: Microsoft.VisualStudio.SourceSafe.Interop (in microsoft.visualstudio.sourcesafe.interop.dll)
Sintassi
'Dichiarazione
Property ProjectRights ( _
<InAttribute> <OptionalAttribute> Optional Project As String = "$/" _
) As Integer
'Utilizzo
Dim instance As IVSSUser
Dim Project As String
Dim value As Integer
value = instance.ProjectRights(Project)
instance.ProjectRights(Project) = value
int ProjectRights [
[OptionalAttribute] [InAttribute] string Project
] { get; set; }
property int ProjectRights [String^] {
int get ([InAttribute] [OptionalAttribute] String^ Project);
void set ([InAttribute] [OptionalAttribute] String^ Project, [InAttribute] int piRightsOut);
}
/** @property */
int get_ProjectRights (/** @attribute InAttribute() */ /** @attribute OptionalAttribute() */ String Project)
/** @property */
void set_ProjectRights (/** @attribute InAttribute() */ /** @attribute OptionalAttribute() */ String Project, /** @attribute InAttribute() */ int piRightsOut)
JScript supporta l'utilizzo di proprietà indicizzate ma non la dichiarazione di nuove.
Parametri
- Project
Facoltativo. Una stringa che rappresenta il percorso di un progetto in Visual SourceSafe per il quale vengono ottenuti o impostati i diritti. Il valore predefinito è $/ (il progetto di primo livello).
Valore proprietà
I diritti dell'utente per un progetto specifico.
Note
[IDL]
HRESULT ProjectRights([in, defaultvalue("$/")] BSTR Project, [out, retval] long *piRightsOut);
HRESULT ProjectRights([in, defaultvalue("$/")] BSTR Project, [in] long iRightsIn);
Per l'attivazione dei diritti ProjectRights, la proprietà ProjectRightsEnabled dell'oggetto database deve essere impostata su true. I diritti ProjectRights dell'utente Admin non possono essere modificati.
Tutti gli utenti nel database di Visual SourceSafe dispongono di diritti per i progetti assegnati dall'utente Admin. L'assegnazione si estende nell'Elenco progetti finché non viene raggiunta un'altra assegnazione. Vengono, ad esempio, assegnati i diritti (VSSRIGHTS_ADDRENREM) (Aggiungi) all'utente User1 in $/, il progetto di primo livello. Se nel progetto $/Test non è definita alcuna assegnazione esplicita, all'utente User1 verranno assegnati automaticamente gli stessi diritti presenti nel progetto principale, $/. Se tuttavia si assegnano dei diritti VSSRIGHTS_READ (Sola lettura) all'utente User1 in $/Test/Samples, la precedente assegnazione in $/Test non potrà essere propagata nella struttura. Di conseguenza, l'utente User1 disporrà di diritti di sola lettura per $/Test/Samples e per qualsiasi progetto sottostante. Se i diritti per i progetti sono ereditati dal progetto principale, la proprietà ProjectRights includerà il flag VSSRIGHTS_INHERITED.
Quando si aggiunge un utente per la prima volta, all'utente vengono assegnati i diritti definiti per il progetto di primo livello in base ai diritti DefaultProjectRights dell'oggetto database.
Esempio
Nell'esempio riportato di seguito viene illustrato come utilizzare la proprietà ProjectRights per impostare e ottenere i diritti di un utente per il progetto, $/A.
using System;
using Microsoft.VisualStudio.SourceSafe.Interop;
public class IVSSTest
{
private static string GetUsername()
{
Console.Write("Enter Username: ");
return Console.ReadLine();
}
private static string GetPassword()
{
Console.Write("Enter Password: ");
return Console.ReadLine();
}
public static void Main()
{
// Create a VSSDatabase object.
IVSSDatabase vssDatabase = new VSSDatabase();
// Only SourceSafe Admin can access ProjectRights.
Console.WriteLine("Admin login");
vssDatabase.Open(@"C:\VSSTestDB\srcsafe.ini",
GetUsername(), GetPassword());
IVSSUser vssUser = vssDatabase.get_User("Guest");
vssUser.set_ProjectRights("$/A", (int)VSSRights.VSSRIGHTS_READ);
Console.WriteLine("Project Rights of user {0} for project $/A: {1}",
vssUser.Name,
(VSSRights)vssUser.get_ProjectRights("$/A"));
vssUser.set_ProjectRights("$/A", (int)VSSRights.VSSRIGHTS_ALL);
Console.WriteLine("Project Rights of user {0} for project $/A: {1}",
vssUser.Name,
(VSSRights)vssUser.get_ProjectRights("$/A"));
}
}
Output:
Admin login
Enter Username:
Enter Password:
Project Rights of user Guest for project $/A: VSSRIGHTS_READ
Project Rights of user Guest for project $/A: VSSRIGHTS_ALL
Imports System
Imports Microsoft.VisualStudio.SourceSafe.Interop
Module IVSSTest
Function GetUsername() As String
Console.Write("Enter Username: ")
Return Console.ReadLine()
End Function
Function GetPassword() As String
Console.Write("Enter Password: ")
Return Console.ReadLine()
End Function
Public Sub Main()
' Create a VSSDatabase object.
Dim vssDatabase As IVSSDatabase = New VSSDatabase
' Only SourceSafe Admin can access ProjectRights.
vssDatabase.Open("C:\VSSTestDB\srcsafe.ini", _
GetUsername(), GetPassword())
Dim vssUser As IVSSUser = vssDatabase.User("Guest")
vssUser.ProjectRights("$/A") = Fix(VSSRights.VSSRIGHTS_READ)
Console.WriteLine("Project Rights of user {0} for project $/A: {1}", _
vssUser.Name, CType(vssUser.ProjectRights("$/A"), _
VSSRights))
vssUser.ProjectRights("$/A") = Fix(VSSRights.VSSRIGHTS_ALL)
Console.WriteLine("Project Rights of user {0} for project $/A: {1}", _
vssUser.Name, CType(vssUser.ProjectRights("$/A"), _
VSSRights))
End Sub
End Module
Output:
Admin login
Enter Username:
Enter Password:
Project Rights of user Guest for project $/A: VSSRIGHTS_READ
Project Rights of user Guest for project $/A: VSSRIGHTS_ALL
Vedere anche
Riferimenti
Interfaccia IVSSUser
Membri IVSSUser
Spazio dei nomi Microsoft.VisualStudio.SourceSafe.Interop