аутентификация

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

аутентификация

Сообщение Dmitriy Solomnikov » 22.05.2006 (Пн) 14:03

как можно проверить имя и пораль пользователя (в домене)?

Т.е. пользователь вводит свое имя и пароль, а потом я должен проверить есть такая запись или нет.

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 22.05.2006 (Пн) 14:09

Несколько непонятен вопрос... Надо проверить зарегестрирован ли такой пользователь в домене? Так по идее сам факт входа в систему говорит о том, что пользователь есть...
Весь мир матрица, а мы в нем потоки байтов!

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 22.05.2006 (Пн) 14:40

впринципе ты прав, но часто бывает, что др. пользователь сел за чужой компьютер и пытается что-то сделать... Поэтому надо что бы он это делал под своим именем...

PS: У нас менеджеры постоянно с одного места на другое скачут... а потом долго вспоминают, кто и что делел :)

PPS: я кстати не из под доменного, а из под локального логина работаю :)

Viper
Артефакт VBStreets
Артефакт VBStreets
Аватара пользователя
 
Сообщения: 4394
Зарегистрирован: 12.04.2005 (Вт) 17:50
Откуда: Н.Новгород

Сообщение Viper » 22.05.2006 (Пн) 14:49

т.е. зашел пользователь "Пупкин" с утра в сеть под своим именем, ушел куда-то не заблокировав машину, за нее сел пользователь "Тютькин" не меняя логина и тут твоя прога спрашивает "Ты кто?"...

Если именно так, то смотри в MSDN раздел Authorization (где-то видел пример этого на VB, если найду, кину либо ссылку, либо код)
Весь мир матрица, а мы в нем потоки байтов!

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 23.05.2006 (Вт) 11:10

Что-то у мнея не получается... В MSDN нашел такой пример:

Код: Выделить всё
Public Class LdapAuthentication

    Private _path As String
    Private _filterAttribute As String

    Public Sub New(ByVal path As String)
        Me._path = path
    End Sub

    Public Function IsAuthenticated(ByVal domain As String, ByVal username As String, ByVal pwd As String) As Boolean

        Dim domainAndUsername As String = domain + "\" + username
        Dim entry As DirectoryEntry = New DirectoryEntry(_path, domainAndUsername, pwd)

        Try
            'Bind to the native AdsObject to force authentication.
            Dim obj As Object = entry.NativeObject()
            Dim search As DirectorySearcher = New DirectorySearcher(entry)
            search.Filter = "(SAMAccountName=" + username + ")"
            search.PropertiesToLoad.Add("cn")
            Dim result As SearchResult = search.FindOne()
            If (IsDBNull(result) = True) Then
                Return False
            End If
            '// Update the new path to the user in the directory
            _path = result.Path
            _filterAttribute = result.Properties("cn")(0)
        Catch ex As Exception
            Throw New Exception("Error authenticating user. " + ex.Message)
        End Try
        Return True
    End Function
End Class


В качестве path передаю DNS имя LDAP сервера. Не пашет - на строке
Код: Выделить всё
Dim obj As Object = entry.NativeObject()


вылетает exception:
Error authenticating user. Unspecified error


Проблема точно в path, она должна быть в след. формате:
LDAP://CN=<full user name>, CN=<Users>, DC=<domain component>, DC=<domain component>,...".

Помогите мне ее так составить.

Dmitriy Solomnikov
Постоялец
Постоялец
 
Сообщения: 407
Зарегистрирован: 10.11.2004 (Ср) 13:04
Откуда: Москва

Сообщение Dmitriy Solomnikov » 23.05.2006 (Вт) 13:13

прокатила вот такая штука:
LDAP://domainController/DC=domain,DC=ru

Вопрос: как происходит обмен информацией? По средством чего (http, https, socket и пр.)? Меня интересует степень защищенности передаваемой информации.

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 23.05.2006 (Вт) 14:27

Dmitriy Solomnikov писал(а):прокатила вот такая штука:
LDAP://domainController/DC=domain,DC=ru

Вопрос: как происходит обмен информацией? По средством чего (http, https, socket и пр.)? Меня интересует степень защищенности передаваемой информации.


RPC 135
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 72

    TopList