Re: Windows Identity simple question ????
- From: calderara <calderara@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 7 Jun 2007 01:14:01 -0700
hi dominick.
Yes I have security switch = true and using remoting
I have a strange behaviour.. In order to verify if I can catch the proper
user context , I am actually log to event log the user name as follow from my
server object :
System.Diagnostics.WriteEntry("test", "Ready to get user") --> write
correctly
WindowsIdentity identity=(WindowsIdentity)Thread.CurrentPrinial.Identity;
System.Diagnostics.WriteEntry("Loguser",identity.name); --> Fails
Executing thsi in runtime through following exception :
System.Reflection.TargetInvocationException was unhandled
Message="Exception has been thrown by the target of an invocation."
And when checking the InnerException I get message :
"he source was not found, but some or all event logs could not be searched.
Inaccessible logs: Security."
If I remove the line which logs my user name to event log from the
Identity.name I did not get anymore the exception...
What is happenning, i am not allows to log to Evntlog from Identity object ?
thnaks for comments
serge
"Dominick Baier" wrote:
Are you using remoting? do you have the secure=true switch?.
Then you should find a WindowsIdentity on Thread.CurrentPrincipal.Identity.
-----
Dominick Baier (http://www.leastprivilege.com)
Developing More Secure Microsoft ASP.NET 2.0 Applications (http://www.microsoft.com/mspress/books/9989.asp)
This is what I need because I am using using a client applciation
which use services from a remote component host in a windows service.
What I need to get is retrive credential of client user, to know if it
has rights to call my remote component and for that I cannot not use
the method you sugest otherwise I will only get the user which runs my
Windows service instead the client context.
What I am wondering is why it say that it retrun a GenericIdentity
type when it runs, and in code when you call the Help file it says
that it return a IIdentity object ??
regards
serge
"Henning Krause [MVP - Exchange]" wrote:
Hello,
the Thread.CurrentPrincipal.Identity does not necessarily contain the
currently logged on user. Use WindowsIdentity.GetCurrent() for this
(or, in case you are using ASP.NET with Integrated authentication but
without impersonation, user HttpContext.Current.User).
Best regards,
Henning Krause
"calderara" <calderara@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:C7202059-F1F7-4AAC-89E0-35F88870E36E@xxxxxxxxxxxxxxxx
Dear all,
I am using .NEt.2.0 and trying to get the current identity in order
to
retrive the role that my user belongs to.
For that I am using the following code
WindowsIdentity identity =
(WindowsIdentity)Thread.CurrentPrincipal.Identity; WindowsPrincipal
pc = new WindowsPrincipal(identity);
When runing that code I hve a runtime excpetion saying that I have
an invalid cast.
identity is a WindowsIdentity object
Thread.CurrentPrincipal.Identity is retruning a GenericIdentity
onject ???
which is strange becaseu the class definition says that Identity
should
retrun an IIdentidy object but not a generic
What happen here ?
Thnaks for help
regards
serge
- References:
- Re: Windows Identity simple question ????
- From: Henning Krause [MVP - Exchange]
- Re: Windows Identity simple question ????
- From: Dominick Baier
- Re: Windows Identity simple question ????
- Prev by Date: Re: Windows Identity simple question ????
- Next by Date: Custom Software Development
- Previous by thread: Re: Windows Identity simple question ????
- Next by thread: Custom Software Development
- Index(es):