会话令牌作为URL的一部分

时间:2014-03-13 02:45:38

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我们假设我想使用这样的路由:

{sessionid}/{controller}/{action}/{id}

添加路由很容易,但现在我不清楚如何让AuthorizeAttribute使用与我的会话令牌关联的用户。我在ILSpy中查看了它的来源,它似乎依赖于HttpContext得到IPrincipal,而这就是路径变冷的地方。 它在哪里得到IPrincipal的实例?

最糟糕的情况我想我可以编写一个自定义FilterAttribute和一个实现IPrincipal的自定义用户类。全局连接以从路由数据中获取sessionid,从数据库中查找我的用户,然后将我的自定义IPrincipal实例提供给HttpContext.User。 这看起来有点低,也绕过整个MembershipProvider业务。

我是在正确的轨道上还是有更简单的方法来解决这个问题?

0 个答案:

没有答案