Pregunta

Decir que tengo la siguiente web.config:

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

El uso de ASP.NET C#, ¿cómo se puede detectar el Modo de valor de la Autenticación de la etiqueta?

¿Fue útil?

Solución

Trate de Context.User.Identity.AuthenticationType

Ir para el PB de la respuesta de la gente

Otros consejos

El modo de propiedad de la authenticationsection: AuthenticationSection.El Modo De La Propiedad (Del Sistema.Web.De configuración).E incluso se puede modificar.

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

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

En este artículo se describe cómo obtener una referencia a la AuthenticationSection.

La importación de la System.Web.Configuration espacio de nombres y hacer algo como:

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

También puede obtener el modo de autenticación mediante el uso de la estática ConfigurationManager clase para obtener la sección y, a continuación, la enumeración AuthenticationMode.

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

La diferencia entre WebConfigurationManager y ConfigurationManager


Si desea recuperar el nombre de la constante en la enumeración especificado usted puede hacer esto mediante el uso de la Enum.GetName(Type, Object) método

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

utilizar una consulta de xpath //configuración/configuración del sistema.web/autenticación[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;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top