我有一个ASP.NET网站。
我希望未登录的用户自动(重新)定向到登录页面,例如,
~/Account/Login.aspx
与现在一样,用户default.aspx
无需登录即可访问页面(例如 )。
注意:我的操作是基于(可能不正确)假设 ASP.NET 有自己的身份验证周期,该周期在每个(和任何)页面加载之前发生在我背后。
更新@asawyer 提供了一个链接,虽然没有帮助回答问题,但确实提供了一个漂亮的图形:
嗯,你试过什么?
我有一个web.config
启用表单身份验证的文件:
<?xml version="1.0"?>
...
<configuration>
...
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" name=".ASPXFORMSAUTH" slidingExpiration="true"/>
</authentication>
...
</system.web>
...
</configuration>
当我浏览到“默认”页面时,我可以查看它,例如,
GET http://localhost:53149/WebSite/ HTTP/1.1
Host: localhost:53149
我得到了页面内容:
HTTP/1.1 200 OK
Server: ASP.NET Development Server/10.0.0.0
换句话说,我不是被迫登录网站,而是被迫登录网站。
这可能与我的浏览器在网络服务器本地运行的事实有关;但我正在使用Forms
, not Windows
(而不是Passport
和 not None
)身份验证。