Domanda

Dire che ho i seguenti web.config:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
        <authentication mode="Windows"></authentication>
    </system.web>
</configuration>

Utilizzando ASP.NET C#, come è possibile rilevare il valore di Modalità di Autenticazione tag?

È stato utile?

Soluzione

Provare Context.User.Identity.AuthenticationType

Andare per PB risposta della gente

Altri suggerimenti

La proprietà mode dal authenticationsection: AuthenticationSection.Modalità Di Proprietà (Di Sistema.Web.Configurazione).E si può anche modificare.

// Get the current Mode property.
AuthenticationMode currentMode = 
    authenticationSection.Mode;

// Set the Mode property to Windows.
authenticationSection.Mode = 
    AuthenticationMode.Windows;

In questo articolo viene descritto come ottenere un riferimento al AuthenticationSection.

Importare il System.Web.Configuration spazio dei nomi e fare qualcosa di simile:

var configuration = WebConfigurationManager.OpenWebConfiguration("/");
var authenticationSection = (AuthenticationSection)configuration.GetSection("system.web/authentication");
if (authenticationSection.Mode == AuthenticationMode.Forms)
{
  //do something
}

È inoltre possibile ottenere la modalità di autenticazione utilizzando la statica ConfigurationManager classe per ottenere la sezione e quindi il enum AuthenticationMode.

AuthenticationMode authMode = ((AuthenticationSection) ConfigurationManager.GetSection("system.web/authentication")).Mode;

La differenza tra WebConfigurationManager e ConfigurationManager


Se si desidera recuperare il nome della costante specificato enumerazione è possibile eseguire questa operazione utilizzando il Enum.GetName(Type, Object) metodo

Enum.GetName(typeof(AuthenticationMode), authMode); // e.g. "Windows"

utilizzare una query xpath //configurazione/sistema.web/autenticazione[mode] ?

protected void Page_Load(object sender, EventArgs e)
{
 XmlDocument config = new XmlDocument();
 config.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
 XmlNode node = config.SelectSingleNode("//configuration/system.web/authentication");
 this.Label1.Text = node.Attributes["mode"].Value;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top