Proprietà IVSSUser.ReadOnly
Ottiene o imposta un valore che indica l'assegnazione di diritti di sola lettura per l'utente.
Spazio dei nomi: Microsoft.VisualStudio.SourceSafe.Interop
Assembly: Microsoft.VisualStudio.SourceSafe.Interop (in microsoft.visualstudio.sourcesafe.interop.dll)
Sintassi
'Dichiarazione
Property ReadOnly As Boolean
'Utilizzo
Dim instance As IVSSUser
Dim value As Boolean
value = instance.ReadOnly
instance.ReadOnly = value
bool ReadOnly { get; set; }
property bool ReadOnly {
bool get ();
void set ([InAttribute] bool pReadOnly);
}
/** @property */
boolean get_ReadOnly ()
/** @property */
void set_ReadOnly (/** @attribute InAttribute() */ boolean pReadOnly)
function get ReadOnly () : boolean
function set ReadOnly (pReadOnly : boolean)
Valore proprietà
true attiva i diritti di sola lettura, mentre false li disattiva.
Note
[IDL]
HRESULT ReadOnly([out, retval] boolean *pReadOnly);
HRESULT ReadOnly([in] boolean ReadOnly);
In Visual SourceSafe sono disponibili due livelli di protezione che è possibile implementare mediante l'impostazione di ProjectRights e l'attivazione di diritti ReadOnly. Quando la proprietà ReadOnly è impostata su true, l'utente dispone di diritti di sola lettura sul database, indipendentemente da qualsiasi altra assegnazione di diritti. In altri termini, la proprietà ReadOnly ha priorità su ProjectRights.
Solo l'utente Admin può accedere alla proprietà ReadOnly. Se un utente diverso da Admin tenta di accedere alla proprietà ReadOnly di un altro utente, verrà generato un errore di run-time.
Esempio
Nell'esempio riportato di seguito viene illustrato come utilizzare la proprietà ReadOnly per attivare i diritti di sola lettura di un utente per il progetto, $/A.
using System;
using Microsoft.VisualStudio.SourceSafe.Interop;
public class VSSUserTest
{
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()
{
VSSDatabase vssDatabase = new VSSDatabase();
// Only SourceSafe Admin can access ProjectRights
Console.WriteLine("Admin login");
vssDatabase.Open(@"C:\VSSTestDB\srcsafe.ini",
GetUsername(), GetPassword());
// Get User:
IVSSUser vssUser = vssDatabase.get_User("Guest");
vssUser.set_ProjectRights("$/A", (int)VSSRights.VSSRIGHTS_READ);
Console.WriteLine("Project Rights : " +
(VSSRights)vssUser.get_ProjectRights("$/A"));
vssUser.RemoveProjectRights("$/A");
// '$/A' inherits Project Rights of '$/'
Console.WriteLine("Project Rights : " +
(VSSRights)vssUser.get_ProjectRights("$/A"));
vssUser.set_ProjectRights("$/A", (int)VSSRights.VSSRIGHTS_ALL);
Console.WriteLine("Project Rights : " +
(VSSRights)vssUser.get_ProjectRights("$/A"));
// Enable ReadOnly rights
vssUser.ReadOnly = true;
Console.WriteLine("Read Only : " + vssUser.ReadOnly);
vssUser.ReadOnly = false;
Console.WriteLine("Read Only : " + vssUser.ReadOnly);
Console.WriteLine("\n\n\nEnum of VSSRights:");
Console.WriteLine("VSSRights.VSSRIGHTS_READ = " +
(int)VSSRights.VSSRIGHTS_READ);
Console.WriteLine("VSSRights.VSSRIGHTS_CHKUPD = " +
(int)VSSRights.VSSRIGHTS_CHKUPD);
Console.WriteLine("VSSRights.VSSRIGHTS_ADDRENREM = " +
(int)VSSRights.VSSRIGHTS_ADDRENREM);
Console.WriteLine("VSSRights.VSSRIGHTS_DESTROY = " +
(int)VSSRights.VSSRIGHTS_DESTROY);
Console.WriteLine("VSSRights.VSSRIGHTS_ALL = " +
(int)VSSRights.VSSRIGHTS_ALL);
Console.WriteLine("VSSRights.VSSRIGHTS_INHERITED = " +
(int)VSSRights.VSSRIGHTS_INHERITED);
Console.WriteLine("\n\n");
}
}
Output:
Admin login
Enter Username:
Enter Password:
Project Rights : VSSRIGHTS_READ
Project Rights : 31 (VSSRIGHTS_ALL + VSSRIGHTS_INHERITED)
Project Rights : VSSRIGHTS_ALL
Read Only : True
Read Only : False
Enum of VSSRights:
VSSRights.VSSRIGHTS_READ = 1
VSSRights.VSSRIGHTS_CHKUPD = 2
VSSRights.VSSRIGHTS_ADDRENREM = 4
VSSRights.VSSRIGHTS_DESTROY = 8
VSSRights.VSSRIGHTS_ALL = 15
VSSRights.VSSRIGHTS_INHERITED = 16
Vedere anche
Riferimenti
Interfaccia IVSSUser
Membri IVSSUser
Spazio dei nomi Microsoft.VisualStudio.SourceSafe.Interop