Вопрос

Допустим, у меня есть следующий web.config:

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

Используя ASP.NET C #, как я могу определить значение режима тега аутентификации?

Это было полезно?

Решение

Попробуй Context.User.Identity.AuthenticationType

Пойдите за ответом PB, ребята

Другие советы

Свойство mode из раздела authenticationsection: Секция аутентификации.Свойство режима (System.Web.Configuration).И вы даже можете изменить его.

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

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

В этой статье описывается как получить ссылку на раздел AuthenticationSection.

Импортируйте System.Web.Configuration пространство имен и сделайте что-то вроде:

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

Вы также можете получить режим аутентификации, используя статический ConfigurationManager класс, чтобы получить раздел, а затем перечисление AuthenticationMode.

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

Разница между WebConfigurationManager и ConfigurationManager


Если вы хотите получить имя константы в указанном перечислении, вы можете сделать это с помощью Enum.GetName(Type, Object) способ

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

использовать запрос xpath //configuration/system.web/authentication[режим]?

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;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top