我有一个简单的问题让我头痛了几天。
我创建了带有登录控件的非常简单的应用程序。我将用户数据保存在 web.config 文件中:
<authentication mode="Forms">
<forms name=".RzeskoLoginCookie">
<credentials passwordFormat="Clear">
<user name="test" password="test"/>
</credentials>
</forms>
</authentication>
我将把这个简单的网站部署到我不想使用 SQL Server 的计算机上的 IIS。
我的登录按钮事件如下所示:
protected void Login1_LoggingIn(object sender, LoginCancelEventArgs e)
{
if(FormsAuthentication.Authenticate(Login1.UserName, Login1.Password))
{
FormsAuthentication.RedirectFromLoginPage(Login1.UserName, Login1.RememberMeSet);
}
}
现在问题是:
当我在内置网络服务器的 VS2008 上运行网站时,一切正常(我可以登录)。当我将网站复制到 IIS 时,我不断收到这个恼人的错误(在单击“登录”按钮后):
无法生成用户实例
SQL Server 由于失败
检索用户的本地
应用程序数据路径。请做出来
确保用户有本地用户配置文件
在电脑上面。连接将
被关闭。
我还观察到在我的 App_Data 文件夹中正在创建一些奇怪的文件。
总结。我想要实现的是使用 web.config 文件中的用户凭据,而不使用 sql server。
我将不胜感激任何帮助
亲切的问候
PK
来自MSDN http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.aspx登录控制页面:
*
登录控件使用成员身份
提供者获取用户凭据。
除非您另有指定,否则
登录控件使用默认的
会员资格提供者定义在
Web.config 文件。要指定一个
不同的提供商,设置
MembershipProvider 属性为其中之一
定义的会员提供者名称
在应用程序的 Web.config 文件中。
欲了解更多信息,请参阅会员资格
提供商。
*
默认的会员提供商是AspNetSqlProvider它使用 SQL Server 数据库作为其用户存储。
如果您想提供自定义身份验证例程,您可以编写自己的自定义会员资格提供程序或处理验证时 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.onauthenticate.aspxLogin 控件的方法来提供您自己的身份验证逻辑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)