c# - loginurl - Detección del modo de autenticación Web.Config
web config forms authentication (5)
La propiedad mode de la sección authentication: AuthenticationSection.Mode Property (System.Web.Configuration) . E incluso puedes modificarlo.
// Get the current Mode property.
AuthenticationMode currentMode =
authenticationSection.Mode;
// Set the Mode property to Windows.
authenticationSection.Mode =
AuthenticationMode.Windows;
Este artículo describe cómo obtener una referencia a AuthenticationSection .
Digamos que tengo el siguiente web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authentication mode="Windows"></authentication>
</system.web>
</configuration>
Usando ASP.NET C #, ¿cómo puedo detectar el valor de Modo de la etiqueta de Autenticación?
usar una consulta xpath //configuration/system.web/authentication[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;
}
Importe el espacio de nombres System.Web.Configuration
y haga algo como:
var configuration = WebConfigurationManager.OpenWebConfiguration("/");
var authenticationSection = (AuthenticationSection)configuration.GetSection("system.web/authentication");
if (authenticationSection.Mode == AuthenticationMode.Forms)
{
//do something
}
Pruebe Context.User.Identity.AuthenticationType
Ir a la gente de respuesta de PB
También puede obtener el modo de autenticación utilizando la clase estática de ConfigurationManager
para obtener la sección y luego el enum 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 especificada, puede hacerlo utilizando el Enum.GetName(Type, Object)
Enum.GetName(typeof(AuthenticationMode), authMode); // eg "Windows"