WindowsServiceCredential.AllowAnonymousLogons Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define um valor que indica se deve ser permitido o acesso de usuário anônimo (aplica-se somente à segurança no nível da mensagem).
public:
property bool AllowAnonymousLogons { bool get(); void set(bool value); };
public bool AllowAnonymousLogons { get; set; }
member this.AllowAnonymousLogons : bool with get, set
Public Property AllowAnonymousLogons As Boolean
Valor da propriedade
true
se usuários anônimos tiverem acesso permitido; caso contrário, false
. O padrão é false
.
Exemplos
O código a seguir mostra como obter essa propriedade.
// Create a service host.
Uri httpUri = new Uri("http://localhost/Calculator");
ServiceHost sh = new ServiceHost(typeof(Calculator), httpUri);
// Create a binding that uses a WindowsServiceCredential.
WSHttpBinding b = new WSHttpBinding(SecurityMode.Message);
b.Security.Message.ClientCredentialType = MessageCredentialType.Windows;
// Add an endpoint.
sh.AddServiceEndpoint(typeof(ICalculator), b, "WindowsCalculator");
// Get a reference to the WindowsServiceCredential object.
WindowsServiceCredential winCredential =
sh.Credentials.WindowsAuthentication;
// Print out values.
Console.WriteLine("IncludeWindowsGroup: {0}",
winCredential.IncludeWindowsGroups);
Console.WriteLine("UserNamePasswordValidationMode: {0}",
winCredential.AllowAnonymousLogons);
Console.ReadLine();
' Create a service host.
Dim httpUri As New Uri("http://localhost/Calculator")
Dim sh As New ServiceHost(GetType(Calculator), httpUri)
' Create a binding that uses a WindowsServiceCredential.
Dim b As New WSHttpBinding(SecurityMode.Message)
b.Security.Message.ClientCredentialType = MessageCredentialType.Windows
' Add an endpoint.
sh.AddServiceEndpoint(GetType(ICalculator), b, "WindowsCalculator")
' Get a reference to the WindowsServiceCredential object.
Dim winCredential As WindowsServiceCredential = sh.Credentials.WindowsAuthentication
' Print out values.
Console.WriteLine("IncludeWindowsGroup: {0}", winCredential.IncludeWindowsGroups)
Console.WriteLine("UserNamePasswordValidationMode: {0}", winCredential.AllowAnonymousLogons)
Console.ReadLine()
Comentários
Ao usar Windows credenciais do cliente em uma associação, por padrão, o sistema não permite acesso anônimo. Isso significa que somente usuários autenticados de domínio ou grupo de trabalho são permitidos no sistema. No entanto, em determinados casos, é aceitável que usuários anônimos e não autenticados acessem o serviço. Nesse caso, você pode definir essa propriedade para true
permitir que clientes anônimos chamem o serviço. Um serviço que permite a autenticação anônima está afrouxando significativamente os requisitos de segurança, portanto, essa configuração deve ser usada com cautela.
Observe que essa propriedade não se aplica a cenários de segurança de transporte e se aplica somente quando a segurança da mensagem é usada pela associação subjacente para proteger as mensagens. Se Windows segurança de transporte for usada, essa propriedade não se aplicará.