这是我遇到的常见问题。 当用户点击其中一个菜单项时,如果用户没有登录,我想重定向到登录页面本身。 这是有效的方法吗?
在Jsp中,每个页面都有一个控制器,我不知道我们在asp.net中使用了什么。
答案 0 :(得分:1)
最简单的方法是使用web.config文件。请查看<authentication>
部分的文档。您最终可能会使用以下设置:
<!-- Anonymous users denied, exceptions in the Location sections below -->
<authorization>
<deny users="?" />
</authorization>
<authentication mode="Forms">
<forms loginUrl="~/LogOn.aspx" timeout="2880" name=".ASPXAUTH_CMS" protection="All" />
</authentication>
<!-- Allow all users to see the login screen -->
<location path="~/LogOn.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
如果用户未登录,他们将被重定向到“Logoin.aspx”,一旦他们成功通过身份验证,他们将被重定向回原始网址。
答案 1 :(得分:0)
如果您没有使用ASP.NET成员资格并使用自己的变量cookie等登录用户,那么您可以覆盖Page Class并从此Page类派生所有页面。 然后,所有页面都使用构造函数构造Page类,无论页面是否需要登录。当页面需要登录并且凭据不存在时,Page类会在构造时检查此变量并将URL重定向到登录页面。
答案 2 :(得分:0)
尝试Response.Redirect("TheLoginPage.aspx");