ClientRoleProvider Klass

Definition

Hämtar rollinformation för Windows-baserade program från en tjänst för Microsoft Ajax-roller.

public ref class ClientRoleProvider : System::Web::Security::RoleProvider
public class ClientRoleProvider : System.Web.Security.RoleProvider
type ClientRoleProvider = class
    inherit RoleProvider
Public Class ClientRoleProvider
Inherits RoleProvider
Arv
ClientRoleProvider

Exempel

Följande exempelkod visar hur du använder den här egenskapen för att programmatiskt ange rolltjänstens plats.

private void SetRolesServiceLocation()
{
    ((ClientRoleProvider)System.Web.Security.Roles.Provider).ServiceUri = 
        "http://localhost:55555/AppServices/Role_JSON_AppService.axd";
}
Private Sub SetRolesServiceLocation()
    CType(System.Web.Security.Roles.Provider,  _
        ClientRoleProvider).ServiceUri = _
        "http://localhost:55555/AppServices/Role_JSON_AppService.axd"
End Sub

Kommentarer

Du kan använda klientprogramtjänster för att hämta rollinformation från en befintlig rolltjänst genom att konfigurera programmet så att det ClientRoleProvider använder klassen. Efter konfigurationen kan du avgöra om en autentiserad IsInRole användare har en viss roll genom att anropa metoden för den IPrincipal som returneras av staticThread.CurrentPrincipal egenskapen. För program som har konfigurerats för att använda klientprogramtjänster returnerar den här egenskapen en ClientRolePrincipal. Eftersom den här klassen implementerar IPrincipal gränssnittet behöver du inte uttryckligen referera till det. Metoden ClientRolePrincipal.IsInRole anropar ClientRoleProvider.IsUserInRole metoden internt.

Klassen ClientRoleProvider är en skrivskyddad rollmedlemskapsprovider som hämtar rollinformation för autentiserade användare från rolltjänsten som anges av ServiceUri egenskapen. Värdet för ServiceUri egenskapen hämtas vanligtvis från programkonfigurationsfilen tillsammans med andra konfigurationsvärden.

Du kan hämta den aktuella ClientRoleProvider instansen via egenskapen staticRoles.Provider .

Klassen ClientRoleProvider stöder endast GetRolesForUser metoderna och IsUserInRole för den RoleProvider abstrakta klassen. När du anropar någon av dessa metoder för en viss användare kontrollerar tjänstleverantören först den lokala datacachen efter rollinformation. Om cacheminnet inte innehåller någon rollinformation eller om cacheminnet har upphört att gälla hämtar tjänstleverantören rollinformationen från rolltjänsten och lägger till den i cacheminnet.

Du kan ange tidsgränsen för rollcachen när du konfigurerar klientprogramtjänster. Om du vill tvinga GetRolesForUser metoden att hämta rolldata från tjänsten i stället för den lokala cachen anropar ResetCache du metoden först.

Du kan inte använda ClientRoleProvider klassen för att skapa eller ta bort roller eller för att ändra användarnas rollmedlemskap. Om du vill skapa eller ändra rollinformation måste du ändra konfigurationen av rolltjänsten på servern.

Konstruktorer

Name Description
ClientRoleProvider()

Initierar en ny instans av ClientRoleProvider klassen.

Egenskaper

Name Description
ApplicationName

Den här egenskapen används inte av den här klassen.

Description

Hämtar en kort, vänlig beskrivning som är lämplig för visning i administrativa verktyg eller andra användargränssnitt (UIs).

(Ärvd från ProviderBase)
Name

Hämtar det eget namn som används för att referera till providern under konfigurationen.

(Ärvd från ProviderBase)
ServiceUri

Hämtar eller anger URI för rolltjänsten.

Metoder

Name Description
AddUsersToRoles(String[], String[])

Den här metoden används inte av den här klassen.

CreateRole(String)

Den här metoden används inte av den här klassen.

DeleteRole(String, Boolean)

Den här metoden används inte av den här klassen.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
FindUsersInRole(String, String)

Den här metoden används inte av den här klassen.

GetAllRoles()

Den här metoden används inte av den här klassen.

GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetRolesForUser(String)

Hämtar namnen på de roller som den angivna användaren tillhör.

GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
GetUsersInRole(String)

Den här metoden används inte av den här klassen.

Initialize(String, NameValueCollection)

Initierar providern.

IsUserInRole(String, String)

Hämtar ett värde som anger om den angivna användaren finns i den angivna rollen.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
RemoveUsersFromRoles(String[], String[])

Den här metoden används inte av den här klassen.

ResetCache()

Rensar den cachelagrade rollinformationen och återställer tidsgränsen för cacheminnet.

RoleExists(String)

Den här metoden används inte av den här klassen.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även