The problem is in checkAccess the secDesc is type byte[]
dimension[8192]. This means very little to me. I'm thinking there
must be some sort of method or something to make sense of it --but specifically
what it is securing.
While the aceCollection desterilizes the secDesc (AceCollection acl =
DeserializeAcl(secDesc);) and thus does make sense of it, the aceCollection seems to describe who can see the
resource but has no detail about the resource itself.
Maybe I'm missing something and there is a point checkAccess that I can
intercept/overload--where the secDesc is being created--but I haven't been able to find one. Understanding you don't have it to hand--any thoughts on directions to look would be more than welcome.
Your side note makes sense. We are doing the authentication and initial
authorization in the other app. However, we need to securely pass in a
userID (from our bespoke database) in order to do filtering on the data
presented in the report. It is complicated but the logic is almost on a user
basis (e.g.a users can see data of people who live next to them) and we
are using URL access as well. In order to use the trusted account I was
thinking we'd need to access RS via web services which got complicated.
While we could probably manage the initial authentication via webservices and
get the token...as far as I could tell that access (which could be via a
trusted account) wouldn't let us security pass in the userID so on subsequent accesses, RS wouldn't know who it was.
What we were intending to do is something along the lines of having the .NET
custom security validate the existing cookies (from our other web app--same
domain) instead of providing a username/password for authentication.
But, as far as I can see we still need to authorize with URL access...so
I still need to work out what report is being accessed.
As I said, even if they aren't definitive, any thoughts which come to mind
on approaches would be more than welcome.