Clase RequiresAuthenticationAttribute
Especifica que solo un usuario autenticado puede invocar una operación de dominio.
Espacio de nombres: System.ServiceModel.DomainServices.Server
Ensamblado: System.ServiceModel.DomainServices.Server (en system.servicemodel.domainservices.server.dll)
Uso
'Uso
Dim instance As RequiresAuthenticationAttribute
Sintaxis
'Declaración
<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
Ejemplo
En el ejemplo siguiente se muestra un servicio de dominio con el atributo RequiresAuthenticationAttribute aplicado al método 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;
}
}
Notas
El atributo RequiresAuthenticationAttribute se aplica a un método de dominio para restringir el acceso a la operación únicamente a los usuarios autenticados. Cuando se aplica el atributo RequiresAuthenticationAttribute a una clase de servicio de dominio completa, todas las operaciones de dominio se restringen a los usuarios autenticados. El atributo RequiresAuthenticationAttribute impide que el método se ejecute cuando el usuario no está autenticado. Si se llama a una operación de dominio pero el usuario no está autenticado, la operación de dominio devuelve una excepción. Para evitar esta situación, se comprueba la propiedad IsAuthenticated en el objeto User generado en el proyecto de cliente antes de llamar a la operación de dominio.
RIA Services también proporciona el atributo RequiresRoleAttribute para indicar que el usuario debe pertenecer al rol o los roles especificados. También se pueden proporcionar requisitos de autorización personalizados; para ello, se implementa una clase derivada de AuthorizationAttribute y se invalida el método IsAuthorized. Para obtener más información, vea How to: Create a Custom Authorization Attribute.
Jerarquía de herencia
System.Object
System.Attribute
System.ComponentModel.DataAnnotations.AuthorizationAttribute
System.ServiceModel.DomainServices.Server.RequiresAuthenticationAttribute
Seguridad para subprocesos
Cualquier miembro estático público (Compartidos en Visual Basic) de este tipo es seguro para subprocesos. No se garantiza que los miembros de instancia sean seguros para subprocesos.
Plataformas
Plataformas de desarrollo
Microsoft Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 y Windows 2000
Plataformas de destino
Change History
Vea también
Referencia
Miembros RequiresAuthenticationAttribute
Espacio de nombres System.ServiceModel.DomainServices.Server