簡體   English   中英

如何僅在當前運行的 Windows 會話上制作 Grapevine REST 服務器

[英]How to make Grapevine REST Server only on current running Windows Session

我在 Windows 會話(用戶 A)上的 C# 應用程序中運行Grapevine REST 服務器( Grapevine的當前實現依賴於 System.Net.HttpListener 公開的功能),例如在 localhost:8888 上。

如果我在可執行文件運行的情況下讓用戶 A 會話保持打開狀態並登錄到新的用戶 B 會話,我將在本地主機上訪問我的 REST 服務器:8888。

我們可以在啟動它的會話上限制對 REST 服務器的訪問嗎?

Grapevine 使用 .NET 中內置的HttpListener ,您可以使用RestServer類的Advanced屬性直接訪問和配置它。

var server = new Grapevine.Server.RestServer();
var listener = server.Advanced; // This is an HttpListener object

如果您開箱即HttpListener使用HttpListener ,則可以以任何方式配置身份驗證。 一個好的起點可能是AuthenticationSchemes屬性。

如果傳統的身份驗證方法不適合您的用例,您可能希望在應用程序啟動時嘗試獲取登錄用戶,然后在server.Router.BeforeRouting上添加一個事件處理程序,如果請求自動返回401 或 403不是來自該用戶。 我自己還沒有真正嘗試過,但這就是我要去的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM