none
이벤트 처리기에 관한 질문 RRS feed

  • 질문

  • 이벤트 처리기를 이용하고자 class를 만들고 서버의 assembly에 등록 후 사용하는 테스트를 해 보았습니다.
     
    그런데 어떤 연유에선지 사용이 안 되어지던군요...
     
    이리저리 찾아 보다가 impersonation해야 한다고 하기에
     
    WindowsImpersonationContext wic = WindowsIdentify.GetCurrent().Impersonate();
     
    이벤트 처리 코드...
     
    wic.Undo();
     
    이렇게 삽입하고 나니 처리가 되어 집니다.
     
    이렇게 해서 예제에서는 Document library의 이벤트(체크인, 체크아웃, 편집 등)에 대하여 임의로 지정한 필드에 적절한 값을 넣을  수 있더군요...
     
    그러나 여기서 문제가 발생하였습니다.
    이렇게 하면 class가 GetCurrent()를 통해서 시스템 어드민계정을 가져오는 것 같더군요. 따라서 목록의 수정한 레코드를 로그인한 사용자가 아닌 시스템 어드민 계정이 수정한 것으로 됩니다.
     
    이벤트 처리에서 user를 가장하지 않고 사용하는 방법은 없는 것인지?와 가장하더라도 로그인한 사용자가 modified by에서 사용되어질 수는 없는 것인가요?
    2006년 9월 19일 화요일 오전 12:41

모든 응답

  • 덧붙여서 GetCurrent()를 하지 않고

    WindowsIdentity wi = WindowsIdentity(userName@fullyqualifieddomainName);

    WindowsImpersonationContext ctx = null;

    ctx = wi.Impersonate();

     

    이렇게 win2003에서 UPN을 사용하여 Impersonate하였는데 Update()메서드가 먹히지 않더군요...

    아래는 인증 가장에 관한 하우투 문서입니다. 여기서 sharepoint 이벤트 처리를 위해 로그온 사용자로 할 수 있는 방법은 없을까요?

    How To: Use Impersonation and Delegation in ASP.NET 2.0

    2006년 9월 19일 화요일 오전 12:47
  •  에스페스 쓰기:

    덧붙여서 GetCurrent()를 하지 않고

    WindowsIdentity wi = WindowsIdentity(userName@fullyqualifieddomainName);

    WindowsImpersonationContext ctx = null;

    ctx = wi.Impersonate();

     

    이렇게 win2003에서 UPN을 사용하여 Impersonate하였는데 Update()메서드가 먹히지 않더군요...

    아래는 인증 가장에 관한 하우투 문서입니다. 여기서 sharepoint 이벤트 처리를 위해 로그온 사용자로 할 수 있는 방법은 없을까요?

    How To: Use Impersonation and Delegation in ASP.NET 2.0

    이렇게 UPN을 사용하여 Impersonate()하는 것은 asp.net2.0에서 지원되는 것이군요...

    제가 잘 몰랐습니다. asp.net1.1에서는 안 되는 것 같은데

    그렇다면 다른 방법이 없을까요?

    2006년 9월 19일 화요일 오전 6:23