Après avoir inséré la configuration ci-dessous dans mon web.configComment rendre l'authentification ASP.NET persistante le fragment d'URL lors de la redirection vers la page de connexion?
<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>
Toutes les demandes de
Menu.aspx#fragment
sont redirigés vers
login.aspx?ReturnUrl=/Menu.aspx
et je pensais que ce serait redirigé vers
login.aspx?ReturnUrl=/Menu.aspx#fragment
Comment atteindre le comportement souhaité?
Vous devrez encoder # (% 23). Je ne suis pas sûr de la meilleure option pour le faire. Peut-être que vous pouvez le réparer avec une règle de réécriture? –
@Claudio Je suppose que la réécriture est la seule option –
En fait (désolé pour la confusion) ne pense pas que vous serez en mesure de le résoudre avec une règle de réécriture. Le problème ici est que les "ancres en ligne" (#fragment) sont gérés côté client, cette partie de l'URL ne va pas au serveur. Lorsque la logique du serveur détecte que vous n'êtes pas autorisé à accéder à «Menu.aspx», il redirige vers la page de connexion, perdant l'ancre en ligne. Je vous ferai savoir si j'ai trouvé une solution. –