Tengo el siguiente codigo:
[assembly:SecurityPermission(SecurityAction.RequestMinimum,
ControlPrincipal=true)]
namespace PruebaIdentity
{
public class Identificacion : ServicedComponent , _iLoginCli
{
public Identificacion()
{}
public string UsuarioConectado()
{
string UserLogued;
string strReturn;
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
WindowsPrincipal user =
(WindowsPrincipal)System.Threading.Thread.CurrentPrincipal;
UserLogued = user.Identity.Name;
strReturn = UserLogued.Substring(UserLogued.IndexOf(@"\") + 1 );
return strReturn ;
}
el cual retorna el usuario logueado como un string, ahora bien, este metodo
lo tengo dentro de una DLL que subo al com+, PERO que se usa en una sesion de
terminal server. El problema es que al estar en el com+ ( se consume desde
VB6 ) me retorna el usuario logueado al server ( o sea el administrador ) y
no el usuario logueado a la terminal. Hay alguna forma de solucionar esto,
para que lo que devuelva sea el usuario logueado a la terminal. Si lo uso
localmente en la terminal como un metodo en una clase lo hace perfectamente,
el tema es cuando lo subo al Com+ que no me reconoce el usuario local.
Desde ya muchas gracias.
Marcelo Cardozo
Leer las respuestas