RequiresAuthenticationAttribute-Klasse
Gibt an, dass ein Domänenvorgang nur von einem authentifizierten Benutzer aufgerufen werden kann.
Namespace: System.ServiceModel.DomainServices.Server
Assembly: System.ServiceModel.DomainServices.Server (in system.servicemodel.domainservices.server.dll)
Verwendung
'Usage
Dim instance As RequiresAuthenticationAttribute
Syntax
'Declaration
<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
Beispiel
Im folgenden Beispiel wird ein Domänendienst mit dem auf die GetSalesOrderHeader
-Methode angewendeten RequiresAuthenticationAttribute-Attribut veranschaulicht.
<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;
}
}
Hinweise
Das RequiresAuthenticationAttribute-Attribut wird auf eine Domänenmethode angewendet, um den Zugriff auf den Vorgang auf authentifizierte Benutzer einzuschränken. Wenn Sie das RequiresAuthenticationAttribute-Attribut auf eine gesamte Domänendienstklasse anwenden, werden alle Domänenvorgänge auf authentifizierte Benutzern eingeschränkt. Das RequiresAuthenticationAttribute-Attribut verhindert, dass die Methode ausgeführt wird, wenn der Benutzer nicht authentifiziert ist. Wenn Sie einen Domänenvorgang aufrufen und der Benutzer nicht authentifiziert ist, gibt der Domänenvorgang eine Ausnahme zurück. Sie können diese Situation vermeiden, indem Sie vor dem Aufruf des Domänenvorgangs die IsAuthenticated-Eigenschaft für das im Clientprojekt generierte User-Objekt überprüfen.
RIA Services stellt außerdem das RequiresRoleAttribute-Attribut bereit, um anzugeben, dass der Benutzer einer oder mehreren angegebenen Rollen angehören muss. Sie können zudem benutzerdefinierte Autorisierungsanforderungen bereitstellen, indem Sie eine vom AuthorizationAttribute abgeleitete Klasse implementieren und die IsAuthorized-Methode überschreiben. Weitere Informationen finden Sie unter How to: Create a Custom Authorization Attribute.
Vererbungshierarchie
System.Object
System.Attribute
System.ComponentModel.DataAnnotations.AuthorizationAttribute
System.ServiceModel.DomainServices.Server.RequiresAuthenticationAttribute
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht sichergestellt.
Plattformen
Entwicklungsplattformen
Windows XP Home Edition, Windows XP Professional, Windows Server 2003 , Windows Server 2008 und Windows 2000
Zielplattformen
Change History
Siehe auch
Verweis
RequiresAuthenticationAttribute-Member
System.ServiceModel.DomainServices.Server-Namespace