使用ASP.Net发动对服务器上的应用程序的特定桌面上 [英] Using ASP.Net to launch an application on the SERVER on a specific desktop
问题描述
我已经得到了一些在同一台计算机上运行,我的IIS网络服务器工具。
I've got a number of utilities that run on the same machine as my IIS webserver.
我想要做的就是让一个网页来实例化一个可执行文件。如果我使用的Process.Start()的过程中启动,但显然以相同的用户的网络服务器,因此它不能与桌面交互。为99%的的应用程序,这是没有问题的。不过,我希望能够运行它们,就好像一个特定的用户(仅过我)已经推出了他们。
What I'm trying to do is allow a web page to instantiate an executable. If I use Process.Start() the process launches but obviously as the same user as the webserver so it can't interact with the desktop. For 99% of the apps, this isn't a problem. However, I'd like to be able to run them as if a specific user (only ever me) had launched them.
这更多的是一种尝试,看看这是不是一个严重的开发项目可以让我更感兴趣的不是进球的方法。
This is more an attempt to see if this is possible than a serious dev project so I'm more interested in the method than the goal.
在理想情况下,如果我登录到箱(几乎总是),那么它应该只是运行,好像我跟着一个快捷方式。如果没有,启动应用程序,并拥有它连接到我的桌面,当我登录时将是完美的。如果这是不可能的用户登录之前,我可以接受。
Ideally, if I'm logged on to the box (almost always) then it should just run as if i'd followed a shortcut. If not, launching the app and having it attached to my desktop when I log on would be perfect. If it's not possible before user login, i can accept that.
我知道的安全性考虑,但我减轻他们是:
I'm aware of the security considerations but am mitigating them by:
- 在网站需要认证+ SSL
- 在应用程序列表启动配置中,不能被远程修改的文件(通过Web用户或根本 - 只读)
- 在这个盒子是在DMZ
- 最差情况,本机是比较不重要的,并且可以是 重新映像很容易。
- Website needs authentication + SSL
- List of Apps to launch is configured in a file which cannot be modified remotely (or at all by the web user - read only)
- The box is in a DMZ
- Worst-case, the machine is relatively unimportant and can be re-imaged easily.
我GOOGLE了,但是,这似乎是一个相当不寻常的请求,所以没有很多,除了信息不要以为你能做到这一点 - 所以我想我会问在这里得到的希望无论是一)的方式来做到这一点或二)为什么不能做一个像样的解释。
I've googled but this seems to be a fairly unusual request so there's not a lot of information except for "Don't think you can do that" - So I thought I'd ask here in the hopes of getting either a) a way to do it or b) a decent explanation of why it can't be done.
如果它使任何简单,抛开网络方面 - 如何推出另一用户的安全上下文中的进程,连接到他们的桌面(如果有的话)
If it makes it any simpler, put aside the web aspect - How can I launch a process in another users' security context and attached to their desktop (if they have one)
在此先感谢您的帮助和指点您可以提供。
Thanks in advance for any help and pointers you can provide.
推荐答案
下面是一个思想:
创建aso.net应用程序更新,它包含有关需要运行的应用程序信息的表格。所以应用路径和触发器可以设置而不loggining到服务器。
Create an aso.net application to update a table that holds information about the applications that need running. So application paths and triggers can be set without loggining to the server.
然后根据需要创建一个Windows服务来观看此表并运行的进程? 这样,你只需要运行你neeed该帐户下的服务。
Then create a windows service to watch this table and run the processes as required? This way you just need to run the service under the account you neeed.
这将是一个有点像调度,除时间表将在一个数据库中的表?
This would be a bit like the scheduler, except the schedules would be in a database table?
你也可以使用这个应用程序来启动和停止服务的要求。
One could also use this app to start and stop service as required.
显然,asp.net应用程序将需要催产素是安全的。
Obviously the asp.net application would need ot be secure.
这篇关于使用ASP.Net发动对服务器上的应用程序的特定桌面上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!