none
Login com usuário da rede(AD) RRS feed

  • Pergunta

  • Preciso logar o usuário em meu sistema, com o usuário que está logado na rede da empresa. Nunca fiz isso e estou tendo dúvida em como pegar usuário no AD. Estou fazendo pesquisa na net e ainda não consegui entender em como buscar esse usuário. A pergunta é: Como eu pego o usuário logado na rede e logo no meu sistema? Uso MVC5, Visual Studio 2013, C#.
    terça-feira, 26 de agosto de 2014 12:31

Respostas

  • Boa noite.

    Para pegar o usuário logado na rede use

    System.Security.Principal.WindowsIdentity.GetCurrent().Name;

    armazene em uma string e exiba no seu html

    Agora se quiser logar no seu sistema e verificar se o usuario existe no AD :

    http://support.microsoft.com/kb/316748/pt


    <font face="verdana" color="black"><b>Consultoria .NET</b></font> <br/> ANALISTA DESENVOLVEDOR<br/> <font face="verdana" color="black" size="2">Se esta sugestão for útil, por favor, classifique-a como útil.</font><br/> <font face="verdana" color="black" size="2">Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.</font><br/> <font face="verdana" color="black"><a href="http://netdescomplicado.wordpress.com/">Blog .Net Descomplicado</a></font>

    • Marcado como Resposta pnet quinta-feira, 28 de agosto de 2014 10:45
    quarta-feira, 27 de agosto de 2014 22:39

Todas as Respostas

  • Como eu pego o nome do usuário logado na rede e atribuo a um label no meu cshtml?
    • Editado pnet quarta-feira, 27 de agosto de 2014 19:08
    quarta-feira, 27 de agosto de 2014 19:08
  • Boa noite.

    Para pegar o usuário logado na rede use

    System.Security.Principal.WindowsIdentity.GetCurrent().Name;

    armazene em uma string e exiba no seu html

    Agora se quiser logar no seu sistema e verificar se o usuario existe no AD :

    http://support.microsoft.com/kb/316748/pt


    <font face="verdana" color="black"><b>Consultoria .NET</b></font> <br/> ANALISTA DESENVOLVEDOR<br/> <font face="verdana" color="black" size="2">Se esta sugestão for útil, por favor, classifique-a como útil.</font><br/> <font face="verdana" color="black" size="2">Se ela lhe ajudar a resolver o problema, por favor, marque-a como resposta.</font><br/> <font face="verdana" color="black"><a href="http://netdescomplicado.wordpress.com/">Blog .Net Descomplicado</a></font>

    • Marcado como Resposta pnet quinta-feira, 28 de agosto de 2014 10:45
    quarta-feira, 27 de agosto de 2014 22:39
  • Só me responda o seguinte: Como eu retiro o nome da máquina e deixo apenas o nome do usuário. No meu caso está assim:

    Maquina\user

    Precisava apenas de user, nada mais.

    quinta-feira, 28 de agosto de 2014 10:47
  • Boa Tarde!

    Uso o código abaixo para autenticar o usuário do sistema via AD

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.DirectoryServices.AccountManagement;
    
    namespace Sistema.Core.Service.Login
    {
        public class AutenticaAD
        {
            public string Domain;
            public Credentials credentials;
    
            public struct Credentials
            {
                public string Username;
                public string Password;
            }
    
            public AutenticaAD(string Username, string Password, string SDomain)
            {
                credentials.Username = Username;
                credentials.Password = Password;
                Domain = SDomain;
            }
    
            public bool Autentica()
            {
                using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, Domain))
                {
                    bool status = false;
                    try
                    {
                        status = pc.ValidateCredentials(credentials.Username, credentials.Password);
                        return status;
                    }
                    catch (Exception)
                    {
                        return status;
                    }
                }
            }
        }
    }
    


    Rodolfo Gaspar

    sexta-feira, 29 de agosto de 2014 20:53