There is built-in impersonation feature in FileUltimate. Normally you wouldn't need to write your own impersonation code. By the way impersonating during initializing the control will not work (as you did in your above code) because the control will work out of the context of the original page so what you are doing is impersonating only when the control first loads but the control will constantly send new requests to the server while you are using it. So impersonation should happen per request basis.
For using built-in impersonation feature, you should specify Location property of the root folder like below when you can provide a password (first option):
Location = "Path=SOMEPATH; User Name=USER; Password=PASSWORD"
The second option below is used when you can't provide a password but the current identity is already authenticated, you should specify it like this
Location = "Path=SOMEPATH; Authenticated User=true"
You should give the second option a try and see if it works. If not let me know and we will add special handling/support for Claims Authentication.