Applet, ActiveX et Securité

lazzer59 Messages postés 2 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 29 novembre 2005 - 29 nov. 2005 à 15:34
hbaradi Messages postés 16 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 31 octobre 2008 - 6 janv. 2007 à 14:37
Bonjour,

Je travaille actuellement sur une Applet Dotnet en C#.
J'ai donc créé un UserControl qui est appelé dans ma page.
J'ai spécifié mon niveau de sécurité au niveau de CAS.
par contre dans cette applet, j'ai un ActiveX qui me permet de lancer
un Terminal Server que j'ai créé avec aximp sur l'objet msrdp.ocx.
Le probleme est que lorsque je fais le Connect sur l'objet
AxMSTSCLib.AxMsRdpClient3(), il me lance bien terminal server avec
l'application demandée mais il ne gére pas les évènements.
Il léve l'exception :

System.Security.SecurityException: Request for the permission of type System.Security.Permissions.SecurityPermission, mscorlib,
Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.
at System.Security.CodeAccessSecurityEngine.CheckTokenBasedSetHelper(Boolean ignoreGrants, TokenBasedSet grants, TokenBasedSet denied, TokenBasedSet demands)
at System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants, PermissionSet denied, PermissionSet demands)
at System.Windows.Forms.AxHost.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Ce probleme est surement dû au fait que aximp ne permet pas de
spécifier d'autorisation particulière sur le code créé pour le
System.Windows.Forms.AxHost.

Je cherche donc un moyen de contourner ou encore mieux de résoudre le
problème.
merci
code pour le lancement du TS :



new SecurityPermission(PermissionState.Unrestricted).Assert();
axMsTscAx1 = new AxMSTSCLib.AxMsRdpClient3();
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MonAppli));
((System.ComponentModel.ISupportInitialize)(this.axMsTscAx1)).BeginInit();
//
// axMsTscAx1
//
this.axMsTscAx1.Enabled = true;
this.axMsTscAx1.Location = new System.Drawing.Point(58, 17);
this.axMsTscAx1.Name = "axMsTscAx1";
...
this.Controls.Add(this.axMsTscAx1);
this.Font = new Font(this.Font.FontFamily,this.Font.SizeInPoints,GraphicsUnit.Point);
axMsTscAx1.OnEnterFullScreenMode +=new EventHandler(axMsTscAx1_OnEnterFullScreenMode);
axMsTscAx1.OnLoginComplete +=new EventHandler(axMsTscAx1_OnLoginComplete);
axMsTscAx1.OnDisconnected +=new AxMSTSCLib.IMsTscAxEvents_OnDisconnectedEventHandler(axMsTscAx1_OnDisconnec­ted);
axMsTscAx1.OnConnecting+=new EventHandler(axMsTscAx1_OnConnecting);
axMsTscAx1.OnConnected +=new EventHandler(axMsTscAx1_OnConnected);
((System.ComponentModel.ISupportInitialize)(this.axMsTscAx1)).EndInit();
...

axMsTscAx1.Connect();
System.Security.CodeAccessPermission.RevertAssert();

7 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
29 nov. 2005 à 15:39
pas la peine de reposter ton message tous les jours...

Sébastien FERRAND
[MVP C#]
0
lazzer59 Messages postés 2 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 29 novembre 2005
29 nov. 2005 à 16:12
Désolé, je l'avais posté dans 'Au secours...' alors qu'il appartenait plutôt à la catégorie '.Net'
enfin tout ceci ne resout pas mon probleme qui persiste...

j'ai essayé de rajouter également la permission Fulltrust sur le code signé de la dll AxMSTSCLib.dll (créé par aximp.exe) mais ça n'a rien changé.
0
hbaradi Messages postés 16 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 31 octobre 2008
5 janv. 2007 à 13:58
Bonjour,
Je suis confronté à un problème, car je dois via ma page Web,  télécharger un document sur le poste client et lancer ce dernier via le software qui lui correspond.
Alors je voudrais savoir, si la piste d'une applet .Net (c#), répondrait à ma problèmatique, et si oui est ce que c'est compaible avec Firefox et IE.
Sinon y'a t-il une autre manière de le faire ?

merci
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
5 janv. 2007 à 15:50
Salut

Pour que cela marche, il faudra que le client fasse confiance a la zone (intranet local, voire internet).
Et pour l'hostage dans firefox, je suis pas bien sur. A tester !

Quelques autres liens a lire :
http://www.csharpfr.com/infomsg_OUVRIR-FICHIER-COTE-CLIENT_669309.aspx
http://www.csharpfr.com/infomsg_LANCEMENT-PROCESSUS_662947.aspx

Mx
MVP C# 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
5 janv. 2007 à 15:54
le hosting d'assembly .net dans FireFox... tu peux oublier :)

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
5 janv. 2007 à 15:59
Je pensais aussi, mais avant de repondre, je suis tombé sur ca :
http://www.dotnetguru.org/modules.php?op=modload&name=News&file=article&sid=447&mode=thread&order=0&thold=0

Suffit de retrouver l'article en question

Mx
MVP C# 
0
hbaradi Messages postés 16 Date d'inscription samedi 11 décembre 2004 Statut Membre Dernière intervention 31 octobre 2008
6 janv. 2007 à 14:37
Merci à tous pour votre aide celà m'est bien utile.
[auteurdetail.aspx?ID=5912 ]
MorpionMx, merci encore pour ton lien, mais je n'arrive pas à trouver la suite de l'article qui parle de faire fonctionner les applet .net sous Firefox, alors si tu as des news de ton coté fais moi signe.
0
Rejoignez-nous