AuthorizationStoreRoleProvider.ApplicationName Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene o imposta il nome dell'applicazione dell'archivio autorizzazioni per cui archiviare e recuperare le informazioni sui ruoli.
public:
virtual property System::String ^ ApplicationName { System::String ^ get(); void set(System::String ^ value); };
public override string ApplicationName { get; set; }
member this.ApplicationName : string with get, set
Public Overrides Property ApplicationName As String
Valore della proprietà
Nome dell'applicazione dell'archivio autorizzazioni per cui archiviare e recuperare le informazioni sui ruoli. Il valore predefinito è il valore della proprietà ApplicationPath per la proprietà Request corrente.
Eccezioni
È stato effettuato un tentativo di impostare la proprietà ApplicationName su una stringa di lunghezza superiore a 256 caratteri.
Esempio
Nell'esempio seguente viene illustrato l'elemento <roleManager> nella system.web
sezione del file Web.config per un'applicazione ASP.NET. Specifica l'istanza dell'applicazione AuthorizationStoreRoleProvider e imposta la ApplicationName proprietà su MyApplication
.
<roleManager defaultProvider="AuthorizationStoreProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<add
name="SqlProvider"
type="System.Web.Security.AuthorizationStoreRoleProvider"
connectionStringName="AuthorizationStoreServices"
scopeName="MyScope"
applicationName="MyApplication" />
</providers>
</roleManager>
Commenti
l'oggetto ApplicationNameAuthorizationStoreRoleProvider viene usato da per associare utenti e ruoli a diverse applicazioni di gestione autorizzazioni, che consente a più applicazioni di ASP.NET di usare lo stesso archivio criteri di gestione autorizzazioni per archiviare le informazioni sui ruoli senza entrare in conflitto tra nomi di ruolo duplicati. In alternativa, più applicazioni ASP.NET possono usare lo stesso archivio criteri specificando lo stesso valore nella ApplicationName proprietà . La ApplicationName proprietà può essere impostata a livello di codice oppure può essere impostata in modo dichiarativo nel file Web.config dell'applicazione usando l'attributo applicationName
.
Se non viene specificato un valore per l'attributo applicationName
nel file Web.config, viene utilizzato il valore della HttpRequest.ApplicationPath proprietà per l'oggetto corrente HttpContext.Request .
Nota
I nomi delle applicazioni di Gestione autorizzazioni non possono contenere il carattere "/" incluso nella HttpRequest.ApplicationPath proprietà . Di conseguenza, il valore predefinito per la ApplicationName proprietà non può essere usato come nome dell'applicazione di gestione autorizzazioni e nel file di Web.config dell'applicazione è sempre necessario specificare un applicationName
attributo nell'elemento per configurare AuthorizationStoreRoleProvider l'istanzaprovider
.
Attenzione
Poiché per tutte le richieste gestite da un HttpApplication oggetto viene usata una singola istanza del provider di ruoli predefinita, è possibile eseguire più richieste contemporaneamente e tentare di impostare il valore della ApplicationName proprietà. La ApplicationName proprietà non è thread-safe per più scritture e la modifica del valore della ApplicationName proprietà può comportare un comportamento imprevisto quando sono presenti più utenti di un'applicazione. È consigliabile evitare di scrivere codice che consenta agli utenti di impostare la ApplicationName proprietà a meno che non sia necessario. Un esempio di applicazione in cui l'impostazione della ApplicationName proprietà può essere necessaria è un'applicazione amministrativa che gestisce i dati dei ruoli per più applicazioni. Tale applicazione deve essere un'applicazione a utente singolo e non un'applicazione Web.