![]() |
1
0
我想我已经找到了解决问题的办法。我决定在第七章中用一些样品 开始ASP.NET安全性 使用表单身份验证的一个例子(第155-157页)显示了一个简单的login.aspx页面,类似于我的开发启动页面。我在开发启动页中的代码(如上所示)不正确。应该是:
我还在Development web.config中定义了模拟用户:
当调用FormsAuthentication.Authenticate并对我选择的任何一个模拟用户进行身份验证时,它似乎会导致ASP.NET在调用角色提供程序时始终使用此用户名。至少,在调试网站时,这似乎是可行的。 我已经将项目设置为始终调用我的开发启动页(登录页——mystart.aspx)。这样,我总是从一个新的身份验证开始,以防我需要使用不同的角色。 警告 从未 用于 从未 在生产web.config中使用用户名和密码。这是 用于调试和测试。根据版本控制开发和生产代码的方式,您可能必须手动合并从开发到生产的某些更改,以避免将此调试代码发送到生产。
编辑 --还有一个难题:我的自定义角色提供程序中仍有奇怪的方法调用。有几次,一个方法会用我在我的登录页面上登录的用户名调用(这是我所期望的);通常是我的Windows用户名让我相信ASP.NET仍在使用Windows授权 . 经过更多的研究(谢谢!!!),我在我的项目的applicationhost.config文件中发现,Windows身份验证设置为True,我猜这会导致与我的web.config文件冲突。将applicationhost.config中的值设置为:
|
![]() |
Haim Ohayon · 这些链接之间有什么区别? 2 年前 |