gpt4 book ai didi

asp.net - 如何检查用户是否登录

转载 作者:行者123 更新时间:2023-12-01 08:32:04 24 4
gpt4 key购买 nike

我创建了一个登录页面,用户必须提供用户名和密码才能访问某些特定资源,他们可以在其中上传图像,或者只是编辑一些关于他们自己的描述。
我的 web.config 文件如下所示:

    <authentication mode="Forms">
<forms loginUrl="Secure/Login.aspx" defaultUrl="index.aspx" name=".ASPXFORMSAUTH" timeout="30"/>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>

<location path="Secure">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

因此,当用户输入用户名和密码后,他将被重定向到 index.aspx 页面。
根据用户是否登录,index.aspx 应该显示或隐藏一些内容。
这是我检查他是否登录的方式:
bool isLoggedIn = HttpContext.Current.User.Identity.IsAuthenticated;  
if (isLoggedIn)
{
placeHolder2.Visible = true;
...
}

现在的问题是:HttpContext.Current.User.Identity.IsAuthenticated; ALWAYS 返回 true,因此未经授权的人将看到应该隐藏的内容。

我不确定:HttpContext.Current.User.Identity.IsAuthenticated;
我刚刚用谷歌搜索“如何检查用户是否登录”,建议是:
HttpContext.Current.User.Identity.IsAuthenticated;

我只希望登录的人查看私有(private)内容。我该怎么做?如何使: HttpContext.Current.User.Identity.IsAuthenticated 仅在用户登录时返回 true?
谢谢

最佳答案

if (Request.IsAuthenticated) {.....}

根据一些评论进行编辑
通过“表格”进行身份验证,请在此处查看
HttpContext.Current.User.Identity.IsAuthenticated//如果使用基于表单的身份验证,则为“表单”
//“协商”是使用集成的windows
//ETC

如果使用 .net 4.5 并且您想要“SET”用户声明。
ClaimsPrincipal is recommended reading

关于asp.net - 如何检查用户是否登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com