【问题标题】:How to redirect page for unauthorized user如何为未经授权的用户重定向页面
【发布时间】:2016-11-24 06:45:54
【问题描述】:

我有一个只能用 web.config 文件配置的 asp.net 程序。 下面有这段代码,它可以帮助我重定向到登录页面。

<authentication mode="Forms">
  <forms name="ZukamiLogin" path="/" loginUrl="login.aspx" protection="All" slidingExpiration="true" />
</authentication>
<authorization>
 <deny users="?" />

但是,当我将 loginUrl 更改为 "login.aspx?AppID=90441b68-3515-4fdd-851a-4a2b753e5557&anonyform=2f7fbed9-3ef4-4e9d-b164-0f4b6104cf78" 时,它显示错误。有什么方法可以将用户重定向到此链接而不是 login.aspx?

编辑: 为错误添加了图像

【问题讨论】:

  • 它显示的错误是什么?
  • @RobertM。 HTTP 错误 500.19 - Internal Server Error 请求的页面无法访问,因为该页面的相关配置数据无效。
  • 当您尝试直接导航到该 URL 时,它是否在浏览器中工作?
  • @davke 是的,这就是为什么它让我一无所知
  • 如果我的回答解决了您的问题,请您点击同意吗?

标签: asp.net web-config


【解决方案1】:

您不能使用特殊字符 ?、= 或 .在标签或属性中,因为它们是 XML 中的特殊字符。您必须使用他们的数字字符引用。

所以:

loginUrl="login.aspx&#63;AppID&#6190441b68&#45;3515&#45;4fdd&#45;851a&#45;4a2b753e5557&#38;anonyform&#612f7fbed9&#45;3ef4&#45;4e9d&#45;b164&#45;0f4b6104cf78"

(你可能想检查我的输入)

这里有完整的字符引用表:https://www.dvteclipse.com/documentation/svlinter/How_to_use_special_characters_in_XML.3F.html#gsc.tab=0

编辑: 显然,对于 URL,最好使用此处接受的答案中解释的不同字符编码方案(URL 编码):Android: How store url in string.xml resource file?

【讨论】:

  • 它正在工作,谢谢罗伯特! P/S : 友情提醒所有潜在读者。如果在记事本中使用“全部替换”功能,请先替换“&”,然后再替换其他特殊字符++
  • 更好的是:使用此工具一键进行 URL 编码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
相关资源
最近更新 更多