Classe RequiresAuthenticationAttribute
Specifica che un'operazione di dominio può essere richiamata solo da un utente autenticato.
Spazio dei nomi: System.ServiceModel.DomainServices.Server
Assembly: System.ServiceModel.DomainServices.Server (in system.servicemodel.domainservices.server.dll)
Utilizzo
'Utilizzo
Dim instance As RequiresAuthenticationAttribute
Sintassi
'Dichiarazione
<AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Method Or AttributeTargets.Property Or AttributeTargets.Field, AllowMultiple:=False, Inherited:=True)> _
Public NotInheritable Class RequiresAuthenticationAttribute
Inherits AuthorizationAttribute
[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true)]
public sealed class RequiresAuthenticationAttribute : AuthorizationAttribute
[AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Method|AttributeTargets::Property|AttributeTargets::Field, AllowMultiple=false, Inherited=true)]
public ref class RequiresAuthenticationAttribute sealed : public AuthorizationAttribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true) */
public final class RequiresAuthenticationAttribute extends AuthorizationAttribute
AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method|AttributeTargets.Property|AttributeTargets.Field, AllowMultiple=false, Inherited=true)
public final class RequiresAuthenticationAttribute extends AuthorizationAttribute
Esempio
Nell'esempio seguente viene illustrato un servizio del dominio con l'attributo RequiresAuthenticationAttribute applicato al metodo GetSalesOrderHeader
.
<EnableClientAccess()> _
Public Class AdventureWorksDomainService
Inherits LinqToEntitiesDomainService(Of AdventureWorksLT_DataEntities)
<RequiresRole("Managers")> _
Public Function GetCustomers() As IQueryable(Of Customer)
Return Me.ObjectContext.Customers
End Function
Public Function GetProducts() As IQueryable(Of Product)
Return Me.ObjectContext.Products
End Function
<RequiresAuthentication()> _
Public Function GetSalesOrderHeaders() As IQueryable(Of SalesOrderHeader)
Return Me.ObjectContext.SalesOrderHeaders
End Function
End Class
[EnableClientAccess()]
public class AdventureWorksDomainService : LinqToEntitiesDomainService<AdventureWorksLT_DataEntities>
{
[RequiresRole("Managers")]
public IQueryable<Customer> GetCustomers()
{
return this.ObjectContext.Customers;
}
public IQueryable<Product> GetProducts()
{
return this.ObjectContext.Products;
}
[RequiresAuthentication()]
public IQueryable<SalesOrderHeader> GetSalesOrderHeaders()
{
return this.ObjectContext.SalesOrderHeaders;
}
}
Osservazioni
L'attributo RequiresAuthenticationAttribute viene applicato a un metodo di dominio per limitare l'accesso all'operazione solo agli utenti autenticati. Quando si applica l'attributo RequiresAuthenticationAttribute a un'intera classe di servizi del dominio, tutte le operazioni di dominio vengono limitate solo agli utenti autenticati. L'attributo RequiresAuthenticationAttribute impedisce l'esecuzione del metodo quando l'utente non è autenticato. Se si chiama un'operazione di dominio quando l'utente non è autenticato, l'operazione di dominio restituisce un'eccezione. È possibile evitare questa situazione controllando la proprietà IsAuthenticated nell'oggetto utente generato nel progetto client prima di chiamare l'operazione di dominio.
In RIA Services è inoltre disponibile l'attributo RequiresRoleAttribute, per indicare che l'utente deve appartenere a uno o più ruoli specificati. È anche possibile fornire requisiti di autorizzazione personalizzati implementando una classe che deriva da AuthorizationAttribute ed eseguendo l'override del metodo IsAuthorized. Per ulteriori informazioni, vedere How to: Create a Custom Authorization Attribute.
Gerarchia di ereditarietà
System.Object
System.Attribute
System.ComponentModel.DataAnnotations.AuthorizationAttribute
System.ServiceModel.DomainServices.Server.RequiresAuthenticationAttribute
Sicurezza dei thread
Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread-safe. Non è invece garantita la sicurezza dei membri dell'istanza.
Piattaforme
Piattaforme di sviluppo
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 e Windows 2000
Piattaforme di destinazione
Change History
Vedere anche
Riferimento
Membri RequiresAuthenticationAttribute
Spazio dei nomi System.ServiceModel.DomainServices.Server