1

我实际上使用的是 ASP.Net MVC,但我认为这也适用于 ASP.Net。

调查授权是如何工作的,我得出的结论是 ASP.Net MVC 在用户未经授权且应该授权时生成一个 HttpUnauthorizedResult 。然后 ASP.Net 从我的 Web.config 中读取:

<authentication mode="Forms">
   <forms loginUrl="~/Account/LogOn" timeout="2880"/>
</authentication>

并生成实际的 URL 和重定向结果。或者换一种说法:说 ASP.Net MVC 应用程序从不生成重定向 URL 是否正确?

我的问题是我想向重定向 URL 添加一些东西,但似乎我唯一能做的就是捕获 HttpUnauthorizedResult 并从头开始生成整个 URL 重定向。也许 ASP.Net 中有一种方法可以根据我的配置文件给我重定向,这样我就不必自己阅读配置文件了?

4

2 回答 2

1

试试这个 - System.Web.Security.FormsAuthentication.RedirectToLoginPage(string extraQueryString),其中extraQueryString - 包含在重定向 URL 中的查询字符串。

于 2009-06-03T21:15:31.160 回答
0

没有添加任何自动内容的 URL,例如 ReturnURL,就像它的配置一样,可以通过以下方式检索:

System.Web.Security.FormsAuthentication.LoginUrl
于 2009-06-03T21:50:28.373 回答