0
我在Asp.net Web Api
項目上使用SignalR
。SignalR加密QueryString參數
我從分開的Asp.net MVC
項目連接到集線器。
一切正常,直到現在。
但是,我需要實現認證的SignalR Hubs
,爲了做到這一點,我只需要一個token
被髮送的查詢字符串參數:
// Hub implementation on Asp.Net Web Api project
public class AppHub : Hub
{
public override async Task OnConnected()
{
string token = Context.QueryString["token"];
var validateResult = ValidateRequestService.ValidateToken(token);
Groups.Add(Context.ConnectionId, validateResult.UserName);
base.OnConnected();
}
}
// Javascript implementation on Asp.net MVC project
$.connection.hub.url = 'http://webApiProject.com/signalr';
$.connection.hub.qs = { 'token': '@(ViewBag.SessionToken)' };
這工作。
問題是我在客戶端(瀏覽器)上存儲敏感信息(token
)。如果黑客檢查頁面的源代碼,它可以很容易地看到token
密鑰。
有什麼辦法來加密/解密查詢字符串參數,所以它會在客戶端加密?
我可以在客戶端輕鬆加密它,但問題是它也會被加密發送到Web Api
服務器。
HttpModule
會在這種情況下工作嗎?
SignalR支持內置的模型ASP.NET使用那個 – Anders 2015-02-24 12:05:12
@Anders我沒有使用'FormsAuthentication'。使用外部服務驗證'token' – Catalin 2015-02-24 12:07:39
使用自定義成員資格提供程序並讓ASP.NET編組身份驗證碼以供編輯:btw,您不僅限於Forms,還可以使用Windows – Anders 2015-02-24 12:13:16