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