gpt4 book ai didi

asp.net - 通过 web.config 的身份验证不在 ASP.net 3.5 中进行身份验证

转载 作者:行者123 更新时间:2023-12-03 21:42:09 29 4
gpt4 key购买 nike

这是应该非常简单的事情之一,我无法弄清楚为什么它不起作用。

我正在尝试为 ASP.net 3.5 应用程序设置一些非常快速的身份验证,但将用户名和密码存储在 web.config 文件中(我知道它不是很安全,但它是一个内部应用程序,我不断被要求添加和删除登录名,因此这是最快的方法)。

因此,相关的配置部分如下所示:

<authentication mode="Forms">
<forms loginUrl="~/login.aspx">
<credentials>
<user name="user" password="password" />
<user name="user2" password="password2" />
</credentials>
</forms>
</authentication>

<authorization>
<deny users="?"/>
</authorization>

并且,在登录页面中,代码如下所示:
string username = tbUsername.Text;
string password = tbPassword.Text;

if (FormsAuthentication.Authenticate(username, password))
FormsAuthentication.RedirectFromLoginPage(username, false);

但是, FormsAuthentication.Authenticate(username, password) 总是返回 false。我不明白为什么。

我什至尝试使用 Membership.ValidateUser 但这只是将本地数据库添加到 App_Data 文件夹中。

是否有一些非常基本的东西我在这里忘记了,或者这在 .net 3.5 中根本不起作用?

最佳答案

我不确定这是否在 .NET 3.5 中发生了变化,但 <credentials>元素有一个属性 passwordFormat定义 web.config 中密码的格式.来自 MSDN documentation for .NET 3.5 ,默认格式为 SHA1。

如果您在 web.config 中使用明文用户名和密码,你应该使用:

...
<credentials passwordFormat="Clear">
...

尽管这是一个内部应用程序,但我仍然建议至少对密码进行哈希处理,而不是将其保留为明文。

关于asp.net - 通过 web.config 的身份验证不在 ASP.net 3.5 中进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1142847/

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