在Windows 2012 Server上運行的Delphi XE應用程序。如何在使用ShellExecute打開Adobe Viewer時限制用戶的權限。就目前而言,用戶不允許在服務器上看到驅動程序。但是,當用戶從應用程序打開PDF時,權限將恢復爲admin,這使得他們可以查看和訪問驅動器。如何在遠程桌面用戶上使用ShellExecute限制權限
ShellExecute中是否有設置可以基於用戶登錄憑據來應用適當的權限?
在Windows 2012 Server上運行的Delphi XE應用程序。如何在使用ShellExecute打開Adobe Viewer時限制用戶的權限。就目前而言,用戶不允許在服務器上看到驅動程序。但是,當用戶從應用程序打開PDF時,權限將恢復爲admin,這使得他們可以查看和訪問驅動器。如何在遠程桌面用戶上使用ShellExecute限制權限
ShellExecute中是否有設置可以基於用戶登錄憑據來應用適當的權限?
使用ShellExecute
創建進程時,新進程在父進程的憑據下運行。所以看起來,調用ShellExecute
的流程似乎擁有比您希望授予由ShellExecute
啓動的流程更多的權限。
解決此問題的一種方法是從所需憑據下運行的進程調用ShellExecute
。可能還有其他方法可以解決這個問題,但是如果您不瞭解您的網絡安全配置,就不太可能提供更具體的建議。
我們正在限制組策略的權限。我可以通過以有限權限登錄服務器並嘗試運行由ShellExecute調用的特定應用程序來檢查此問題。在這種情況下,它是Adobe Reader。當我從服務器啓動它時,驅動器在「另存爲」期間不可見。但是,當我以同一用戶登錄我的Delphi應用程序,並通過ShellExecute調用從應用程序調用Adobe Reader時,驅動器在「另存爲」期間可見。 –
通過「權限」你實際上是在談論一個組策略設置?您究竟如何防止用戶看到服務器上的驅動器? –