我们有一个登录强制应用程序,它只允许用户在我们的应用程序中登录到单个会话。这是在 postauthenticate 请求事件处理程序中完成的。
如果用户需要注销(他们有另一个会话),我们这样做:
FormsAuthentication.SignOut();
FormsAuthentication.RedirectToLoginPage();
这已经很好地工作了很长时间。现在我们正在向我们的应用程序添加一个 web api。当您点击 Web api Url 时, PostAuthentication 事件确实会触发,它会看到用户已在其他地方登录......但是,它会重定向到登录......由于代码,这是预期的。
我试图更改上面的代码以设置Response.StatusCode = 401
然后结束请求。好吧,这很好用,但是 asp.net 很“不错”并且会自动重定向到登录页面。
如果这个请求来自 web api URL,有没有办法我可以用 401 响应而不让它重定向到登录页面?