2009-03-10 5 views
2

기존 웹 응용 프로그램이 인증을 위해 활성 디렉토리를 사용하지만 응용 프로그램 내에 권한을 남길 수 있도록 프로젝트를 시작합니다. 사용자가 자신의 AD 사용자 이름/암호를 기존 로그인 양식에 입력한다고 생각 했으므로 AD 서버에 대해 사용자를 인증하기 위해 LDAP 바인드를 수행합니다. 일단 사용자가 인증되면 사용자가 볼 수있는 기능에 대한 모든 권한 부여 정보가있는 데이터베이스에서 해당 사용자를 가져옵니다.응용 프로그램 내에서의 단순 Active Directory 통합 - 응용 프로그램을 저장하려면 어떻게해야합니까?

제 질문은 저의 테이블에 저의 가장 좋은 광고 요소를 저장하는 것입니다. 과거에는 username을 사용했지만 AD가 반환하는 요소 중 일부를 살펴본 후에 보안 ID 또는 GUID 등을 사용해야하는지 궁금합니다.

직원이 결혼하거나 이혼 한 것처럼 사용자 이름이 바뀌면 화상을 입었습니다 ... 그래서 나는 그것이 부서지기 쉽다는 것을 알고 있습니다.

차이점이 있다면 Windows 2003 AD 이상을 타겟팅했습니다. 이것은 일부 클라이언트가 큰 광고 포리스트를 가지고 있고 일부는 소규모 네트워크 인 제품을위한 것입니다.

답변

2

SID를 저장하는 것이 가장 신뢰할 수있는 방법입니다. 이

당신이 심각하게 닷넷 3.5을 고려해야한다 닷넷 구축하는 경우, 새로운 네임 스페이스 크게 코드를 단순화 System.DirectoryServices.AccountManagement 것을 거기에 모든 Microsoft AD 물건을 사용하는 고유 ID, 보안 그룹, 권한 등이다 여기에 가면 좋은 멋진 물건을 줄 수 있습니다.

+0

의견에 감사드립니다. Nick! – csharp4me

1

사용자가 컴퓨터를 공유하지 않는 한 Windows integrated logon을 사용하지 않으시겠습니까? 사용자가 훨씬 쉬우 며 개발자가되기 쉽고 안전합니다 (한 곳에서 암호를 알아볼 수 있음).

사용자 신원 변경이 불량한 기업 보안 정책이라는 것을 언급해야합니까? 추적 가능성을 더욱 어렵게 만들고, 일부 새로운 공격 방법을 허용하며, 이러한 두통을줍니다.

Nick이 언급했듯이 SID는 안정적인 식별자이지만 사용자가 직접 입력하도록 요청해야하는 것은 아닙니다.

+0

우리는 어떤 시점에서 싱글 사인 온을 원하지만 현재는 워크 스테이션을 공유하는 직원의 문제가 있습니다. SID와 같은 소리는 갈 길이며 사용자가 보지 못하도록하는 코드 손익이 될 수 있습니다. 의견에 감사드립니다! – csharp4me