2010-11-18 4 views
2

ProtectedData CurrentUser를 통해 암호화를 사용하고 Forms auth (사용자 지정 멤버십 모듈과 함께 사용하면 차이가 있다고 생각하지 않음)를 사용하는 사이트가있는 경우 작동합니다 여러 웹 서버에 걸쳐 있습니까?Cryptography.ProtectedData ASP.NET 및 폼 인증을 사용하는 CurrentUser

현재 사용중인 사용자가 User.Identity 인 경우 로그인 한 사용자가되며 모든 웹 서버에서 동일하게 나타납니다.

워드 프로세서가 ASP.NET에서 작동하는 것에 대해 아무 말도하지 않는 것 같습니다.

답변

1

"현재 사용자"는 asp.net 응용 프로그램이 (사이트에 액세스하는 사용자가 아닌) 실행중인 사용자입니다. 일반적으로 이것은/ASPNET 사용자 계정이지만 변경할 수 있습니다. WindowsIdentity.GetCurrent() 기능으로이를 확인할 수 있습니다.

다른 옵션은 DataProtectionScope.LocalMachine을 사용하여 컴퓨터 저장소에 저장하는 대신 컴퓨터의 모든 계정에서 가져올 수 있습니다. 권한이없는 계정 (예 : ASPNET 사용자)을 사용하는 경우이 사용자로 실행되고 해당 사용자 저장소에 액세스 할 수있는 앱을 작성할 수있는 사람보다 보안이 취약한 것으로 보일 수 있습니다.

+0

도메인 계정으로 실행하지 않는 한 unprotect는 단일 컴퓨터에서만 작동합니다. –

+0

예. asp.net 응용 프로그램은 protect/unprotect 기능을 사용하여 여러 사용자의 데이터를 저장할 수 있습니다. 예를 들어 "userid : 392013 value : this is a secret"를 보호하기 위해 다음 문자열을 전달할 수 있습니다. Protect는 암호화 된 문자열을 반환합니다. 이 문자열을 데이터베이스에 저장하면 암호화 된 컴퓨터에서만 해독 할 수 있습니다. 창에 관한 한 모든 Windows 사용자 (ASPNET 계정)이므로 동일한 저장소에 저장됩니다. –

관련 문제