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