Avvolte può essere necessario utilizzare determinate procedure solo se si è ad esempio amministratori del sistema.
L'oggetto PrincipalPermissionAttribute può essere utilizzato per richiedere che l'utilizzo di una classe o un metodo in essa possa essere utilizzato solo da che dispongano di un ruolo specifico o siano stati autenticati. Esempio:
using System;
using System.Security;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;
namespace ClassPermission
{
public class Class1
{
static void
{
Thread.GetDomain().SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
try
{
ClassSicurezza.MethodA();
}
catch (SecurityException ex)
{
Console.WriteLine("Non sei autorizzato ad accedere al metodo MethodA! Cambia il Ruolo.");
Console.WriteLine(ex.Message);
}
try
{
ClassSicurezza.MethodB();
}
catch (SecurityException ex)
{
Console.WriteLine("Non sei autorizzato ad accedere al metodo MethodB! Cambia il Ruolo.");
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}
class ClassSicurezza
{
// Può essere chiamata solo dal gruppo amministartore
[PrincipalPermissionAttribute(SecurityAction.Demand,
Role=@"BUILTIN\Administrators")]
public static void MethodA()
{
Console.WriteLine("OK! Sei l'utente! UseName: " +
Thread.CurrentPrincipal.Identity.Name + " MethodA Chiamato!");
}
[PrincipalPermissionAttribute(SecurityAction.Demand,
Role=@"BUILTIN\User")]
public static void MethodB()
{
Console.WriteLine("OK! Sei l'utente! UseName: " +
Thread.CurrentPrincipal.Identity.Name + " MethodB Chiamato!");
}
}
}
Aggiungi un nuovo commento »»»
Per inserire un commento, devi registrarti alla nostra community.




Stampa
Download
10annidi.ASPItalia.com: iscriviti alla competizione e vinci fantastici premi ogni mese!