我有一个nodejs应用程序在.net应用程序的子目录中使用iisnode运行(实际上是umbraco)。
.net应用程序正在使用表单身份验证,我想使用与.net应用程序相同的机制来保护iisnode应用程序。
我尝试使用iisnode app注册模块,但它似乎甚至没有激活事件处理程序。有可能这样做吗?
答案 0 :(得分:0)
似乎创建一个HttpModule来拦截nodejs请求似乎是不可能的。但是,我确实找到了获取我之后的身份验证信息的方法。
我在我的nodejs(expressjs)应用程序中创建了一些中间件,它从请求中获取标头(包括cookie),并使用相同的标头向asp.net应用程序上的特殊创建的URL发出请求。
此网址只返回Cookie中指定的用户的用户信息(如果存在Cookie)。如果我收到一些信息,那么我知道用户已登录。没有信息表示他们没有登录,我重定向到umbraco登录页面。