Windows 인증 및 사용자 지정 역할 공급자를 사용하면서 동시에 ASP.NET 응용 프로그램에 "Act As"기능을 구현하려고합니다. . 기본적으로 내가 할 수 있기를 원하는 것입니다 :ASP.NET Windows 인증 및 사용자 지정 역할 공급자를 사용할 때 "Act As"기능 구현
- Windows를 사용하여 인증은 그들이 SQL 허가 정보를 얻을 수있는 사용자 지정 역할 공급자를 사용하여 승인 된 도메인 사용자
- 있습니다 확인하기 위해 현재 사용자의 도메인 계정을 얻기 위해 서버 데이터베이스.
- 응용 프로그램의 관리자가 해당 사용자로 실제로 응용 프로그램에 로그인 할 필요없이 다른 사용자의 역할을 수행 할 수있는 기능을 구현합니다.
내가 수행하려고하는 시나리오는 응용 프로그램 관리자가 사용자에게 문제를 돕기 위해 시도하고 해당 사용자로 행동하고 볼 수있는대로 응용 프로그램을 볼 수있는 "동작"단추를 클릭한다는 것입니다. . 따라서 역할 공급자는 현재 사용자가 다른 사용자로 행동하고 현재 사용자 대신 해당 사용자에 대한 사용 권한 정보를 얻는 것을 이해해야합니다.
내 역할은 쿠키를 삭제하고 사용자가 현재 다른 사용자로 가장하고 있음을 나타내는 값을 세션 변수에 추가하는 가장 기능을 구현하는 것이 었습니다. 그러나 권한 부여가 발생하는 시점에 세션이 채워지지 않으므로이를 수행 할 수 없습니다. admins 컴퓨터에서 잠재적으로 영구적 인 상태가되는 것을 원하지 않으므로 쿠키를 사용하고 싶지 않습니다 (관리자가 다른 창을 열어 다른 사용자로 행동하거나 자신의 데이터를 볼 수 없음).).
세션을 사용할 수 없다는 가정하에 "사용자로 행동 ..."정보를 저장하는 좋은 방법 (쿠키없이)을 찾을 수 없습니다. .NET에서 제공되는 보안 트리밍을 활용할 수 있도록 역할 제공 업체 등을 사용하고 싶습니다. 이 모든 것은 단순히 불가능할 수도 있지만, 나는 누군가가 이것을 시도했거나 구현하려고 시도 할 수있는 것에 대한 제안을하고 싶습니다.
미리 감사드립니다.
의견을 보내 주셔서 감사 드리며 지연된 답변을 보내 주셔서 죄송합니다. 이 문제를 해결하기위한 코드를 작성할 수는 있지만 모든 보안 기능과 메뉴 보안 기능을 사용자 정의 코드를 처리 할 필요없이 트리밍 할 수있는 방법이 있었으면합니다. 그 조각들. 필자는 본질적으로이 문제를 해결하기 위해 사용자 지정 보안 코드를 개별 페이지 등에 작성하는 것을 피할 수 있기를 바랬습니다. – tonyellard