Frage

Sagen wir, ich habe folgendes web.config:

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

Mit ASP.NET C #, wie kann ich den Modus Wert des Authentication-Tages erkennen?

War es hilfreich?

Lösung

Versuchen Context.User.Identity.AuthenticationType

für Antwort Leute PB Go

Andere Tipps

Der Modus Eigenschaft aus dem AuthenticationSection: AuthenticationSection.Mode Property (System.Web.Configuration) . Und Sie können es auch ändern.

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

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

Dieser Artikel beschreibt , wie man erhalten einen Verweis auf die AuthenticationSection .

Importieren des System.Web.Configuration Namespace und so etwas wie:

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

Sie können auch den Authentifizierungsmodus erhalten, indem die statischen ConfigurationManager Klasse den Abschnitt und dann die Aufzählungs AuthenticationMode zu erhalten.

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

Der Unterschied zwischen WebConfigurationManager und Configuration


Wenn Sie den Namen der Konstanten in der angegebenen Aufzählung abrufen möchten, können Sie dies tun, indem Sie die Enum.GetName(Type, Object) Methode mit

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

eine XPath-Abfrage //configuration/system.web/authentication[mode verwenden]?

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;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top