【发布时间】:2010-10-12 22:15:38
【问题描述】:
当应用程序需要重定向到登录页面时,使用表单身份验证是否有事件或任何扩展点可以让我在重定向到登录页面之前对请求进行额外的工作?
我想在查询字符串中发送其他信息,这些信息可能会有所不同,因此仅将其静态嵌入到 web.config 中 loginUrl 节点的链接中是行不通的。
编辑:为了澄清,我想在被重定向到登录页面之前拦截请求。
示例:
<authentication mode="Forms">
<forms loginUrl="http://the/interwebs/login.aspx" timeout="2880"
enableCrossAppRedirects="true" />
</authentication>
在用户被重定向到 http://the/interwebs/login.aspx 之前,我希望能够打包查询值,这样 url 就可以像 http://the/interwebs/login.aspx?Action=Refresh 一样结束
【问题讨论】:
-
您今天如何处理重定向?通过代码或通过 Web.config -> 授权?
-
使用 web.config 中的 loginUrl 值,这一切都必须在自定义 http 模块中完成吗?
-
您可能需要将代码放在 Begin_Request (Global.asax) 中,以确定此请求是否是由于对安全页面的请求而导致的登录页面(检查 url 和 QS),然后在QS中附加您的值。顺便说一句 - 您想发送什么“附加信息”,也许我们可以想到一个解决方法。
-
一个是action消息,最正常的值是SignIn,我还需要返回url是绝对路径
标签: c# asp.net .net-4.0 forms-authentication