之后我插入下面我的web.config如何使ASP.NET身份验证在重定向到登录页面时保留Url Fragment?
<authentication mode="Forms">
<forms name="appNameAuth"
path="/" loginUrl="login.aspx" protection="All" timeout="30">
<credentials passwordFormat="Clear">
<user name="user" password="password" />
</credentials>
</forms>
</authentication>
<authorization>
<deny users="?" />
</authorization>
所有请求配置,以
Menu.aspx#fragment
被重定向到
,我估计它重定向到
login.aspx?ReturnUrl=/Menu.aspx#fragment
如何达到理想的行为?
您将需要编码#(23%)。我不确定这样做的最佳选择。也许你可以修改它的重写规则? – 2010-04-09 20:20:54
@Claudio我想重写是唯一的选择 – 2010-04-16 15:12:29
实际上(对于混淆抱歉)不认为你可以用重写规则解决它。这里的问题是,“内联锚”(#fragment)在客户端进行管理,这部分url不会转到服务器。当服务器逻辑检测到您无权访问“Menu.aspx”时,它会重定向到登录页面,失去内联锚点。如果我想出任何解决方案,我会告诉你。 – 2010-04-16 15:49:55