2010-03-09 2 views
0

제목이 약간은 알지만 짧은 문장에서 문제를 설명하기는 어렵습니다.webapp 로그인, 지원 직원이 이용할 수 있어야 함

저는 사용자가 설문 조사를 생성하여 사람들 그룹에 배포 할 수있게하는 기존 웹 응용 프로그램 관리자입니다. 우리에게는 두 종류의 "사용자"가 있습니다.

  1. 모든 설정을 자체적으로 수행하는 공인 된 라이센스 보유자. 다만 조사 실행을 갖고 싶어하지만, 여전히 사용자가 필요
  2. 클라이언트 (웹 애플리케이션이 surveyenvironment에서 최고의 기업으로 "사용자"가 있기 때문이다.)

때때로 # 1의 사용자는 우리가하고 싶은 그들 (우리가 할 것을 제안하는)을위한 준비. 이것은 우리가 그들로 로그인해야한다는 것을 의미합니다. 이것은 우리가 지원하는 방식이기도합니다. 우리는 지원자와 함께 로그인 한 다음 따라 가서 안내합니다.

나는 내 딜레마에 빠지게한다. 현재 우리의 보안 수준은 그보다 낮습니다. 그러나 이것은 우리가 쉽게 지원할 수있게합니다. 우리는 보안을 강화하고 싶습니다. 내가 고려해 왔던 한 가지 사실은 DB에 정상적인 해싱을 수행하는 것입니다. 그러나 고객으로 로그인 할 수 있어야하고, 우리에게 말하지 않고 암호를 변경하면 암호가 필요합니다. DB에 해시 된 경우, 우리는 그것을 알 수있는 방법이 없습니다.

그래서 암호에 대해 두 가지 종류의 암호화를 생각하고있었습니다. 어느 쪽인지 또는 어떤 종류의 마스터 비밀번호.

제안 사항?

당신이 당신의 신원 비트에서 인증을 분리하려는처럼

답변

0

소리 (이 플랫폼은 기존의 ASP ... 나는 ... 그것은 기존했다한다). 어쩌면 관리자가 페이지를 덮어 쓸 수 있으므로 관리자로 로그인 한 후에 어떤 사용자 신원을 추측할지 선택할 수 있습니다. 신원을 선택한 후에는 더 이상의 인증없이 앱을 계속 사용합니다.

+0

강력한 단방향 암호화를 사용하여 모든 암호를 저장할 수 있습니다. –

1

지원 담당자가 사용자 이름/암호를 사용하여 로그인하고 "가장 한"사용자를 선택하도록하는 것입니다. 그래서 세션에서, 당신은 것입니다 :

  1. logged_user을 - ​​그/그녀의 사용자 이름과 암호를 입력 한 실제 사용자를
  2. 가장 된 사용자 - (1)

대신 역할을하는 사용자 모든 작업은 impersonated_user의 권한 및 환경 설정을 통해 수행됩니다. 사람을 가장하지 않는 경우 impersonated_user=logged_user. 이렇게하면 "실제"사용자 이름과 "가장 된"사용자 이름이있는 작업을 항상 기록해야합니다. 예 :

2010-03-09 | 11:34 am | deleted item #890 | 'George' impersonating 'Lizzie' 
+0

나는 이것이 너무 많은 코드가 될 것이라고 생각합니다 ... –

1

두 가지 옵션을 사용하면 나에게 매력이 없습니다. 그것은 단지 휴식을 취으로 마스터 암호가 아마 더 위험 데이터베이스에 암호 (대신 해시의 암호화) 지금

  • 를 잘하고있는 일보다

    • 는 IMO 충분 하나 좋지 않다 모든 암호를 얻으려면 끝내십시오. 그들은 정말로 해쉬해야합니다.

    나는 오래된 레거시 응용되는 제품을 가정, 관리자 계정 내 의견으로는 아직 이에 대한 가장 좋은 방법 인 사용자 계정을 가장 할 수있는 방식으로 변경하는 것은 불가능합니다 (또는 경제적으로 가능하지 않음)입니다 실제 시나리오에서는 (모든 사람이 그 의견을 공유하지 않고 문제에 대한 토론은 here).

    에 해시 된 암호가 포함 된 두 번째 암호 열 (password2)을 입력하는 것은 어떻습니까? 앱의 로그인 과정은 두 번째 열을 살펴보기 쉽도록 조정할 수 있습니다. 구현하기가 쉽지 않을 것이고, 추가적인 보안 문제가 발생하지 않을 것입니다. (물론 잘못된 것이라면 올바르게 수정하십시오.)

  • 0

    Manrico Corazzi가 제공하는 솔루션이 마음에 듭니다. Microsoft의 지원이 필요할 때 기계 제어권을 기술자에게 넘겨 줄 수있는 방법이 있다는 것을 상기시켜주었습니다. 이는 가장 (impersonating) 메커니즘을 달성하는 또 다른 방법 일 수 있습니다. 관리자 계정이 로그인하려면 권한이 부여 된 라이센스 보유자가 세션에 참여하고 모든 권한으로 행동하도록 명시 적으로 허용해야합니다.

    관련 문제