我有一個應用程序,我在VB6寫的,需要根據實際負載,但在桌面前的用戶登錄後向右運行Windows。爲什麼你問,那麼我會告訴你。 VB應用程序要求用戶提供一些針對外部數據庫進行驗證的信息。如果驗證失敗,那麼用戶不應該被允許登錄,因此VB應用程序強制註銷。我讀過一些關於msGina.dll和登錄過程的文章,但我仍然沒有找到可行的解決方案。關於這個的任何想法?需要控制登錄過程
需要控制登錄過程
回答
理想情況下,你會希望編寫自己的GINA提供商修改登錄機制在Windows中。然而,理解這是一個嚴肅的事情,需要你用C/C++編寫你的代碼,並且你必須非常非常小心你如何構建它,以便不打開幾個後門和漏洞,所以你不會破壞Windows的其他部分。
你的VB6應用程序是不是在這種情況下,以去多種原因,而不是其中最重要的是事實,這是非常容易的攔截和完全繞過安全機制的方式。
Buildng一個登錄機制似乎是小菜一碟,直到你真正開始挖掘到如何構建一個是堅如磐石防彈。我知道這一點,因爲我曾經帶領團隊爲歐洲政府的安全桌面建立定製的GINA!
如果您確定你想要去建立一個自定義GINA,再看看這些概述文章:
一個GINA是一種選擇,但只對於Windows XP。 Windows Vista和更高版本的等價物是credential provider。
作爲替代方案,您可以通過此註冊表項更改USERINIT值改變初始用戶進程:當它完成
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
如果你這樣做,請確保您的應用程序啓動USERINIT,或用戶的shell不會啓動。請注意,這不會阻止有知識的用戶繞過您的應用程序,至少不會沒有進一步的步驟。
A credential manager可以在登錄過程中與用戶交互,但我不認爲它提供了任何拒絕登錄的直接方式。有可能一起破解一些東西,但我不會推薦它。
我相信group policy client-side extension能夠拒絕用戶登錄的,但我不熟悉這個技術。
我正在考慮用我需要它們進行交互的應用程序替換用戶的Shell。我的想法是,如果因任何原因取消應用程序,他們會註銷。如果他們通過了憑證測試,那麼他們可以繼續加載桌面。哪個註冊表值更適合使用'Shell'或'Userinit' – todd1215 2012-04-18 20:44:49
可能是userinit,但我建議你嘗試一下。 – 2012-04-19 05:09:21
這是一個非常奇怪的安全方法,你可以看一下「Autoexec.bat」文件,儘管我自己並沒有搞砸這個。無論哪種方式,我懷疑用戶可能可以從任務管理器「結束任務」你的VB6應用程序,並開始他們的快樂方式。
- 1. Sitecore - 需要登錄
- 2. 需要按控制器/視圖登錄(Angular JS)
- 3. 我需要改變樣式和控制asp的使用:登錄控制按鈕
- 4. 需要使用Python登錄的網站需要登錄
- 5. Asp.net登錄控制
- 6. android-登錄控制
- 7. asp.net登錄控制
- 8. Swift跳過登錄控制器
- 9. Airbnb Superset iframe需要登錄
- 10. 需要登錄url訪問
- 11. IdentityServer.IdentityManager不需要登錄
- 12. 如何監控需要從遠程服務登錄的Facebook應用程序
- 13. 訪問從登錄控制inasp.net登錄名和登錄狀態
- 14. ASP:登錄控制請求
- 15. vb.net登錄訪問控制
- 16. jboss jmx控制檯登錄
- 17. ASP.net登錄控制設計
- 18. 登錄控制 - 錯誤
- 19. MVC部分登錄控制
- 20. 登錄控制沒有returnurl
- 21. 綜合登錄控制[ASP.NET]
- 22. 會話登錄控制
- 23. 登錄控件模板和控制ID =登錄
- 24. Spring Security在提供自定義登錄表單時是否需要自定義登錄控制器?
- 25. 控制器測試,用戶需要登錄每個測試單元
- 26. 如何使用Mocha和Unitjs來測試需要登錄的Sails js控制器?
- 27. PowerShell腳本監控需要登錄的網站?
- 28. 在python 3中需要遠程登錄模塊的教程0
- 29. 受登錄保護的頁面不需要登錄訪問
- 30. 登錄在javascript中使用AdminDirectory.users.Get時需要登錄
記住的Windows XP這僅適用。 Windows Vista和更高版本有不同的機制。 – 2012-03-02 01:29:28