当前位置:  开发笔记 > 后端 > 正文

ASP.NET的登录控件问题

如何解决《ASP.NET的登录控件问题》经验,为你挑选了2个好方法。

我设置了一个网站,使用SqlMembershipProvider编写本页面.

我跟着每一步.我有数据库,我修改了Web.config以使用此提供程序,使用正确的连接字符串,并将身份验证模式设置为Forms.创建了一些用户进行测试.

我创建了一个Login.aspx并将Login控件放在上面.一切正常,直到用户可以登录.

我调用Default.aspx,它被重定向到Login.aspx,我输入用户和正确的密码.没有错误信息,似乎没有错,但我再次看到登录表单,输入用户的登录信息.但是,如果我在浏览器中检查cookie,我会看到存在具有指定名称的cookie.

我已经尝试自己处理这些事件并检查它们发生了什么,但没有成功.

我正在使用VS2008,文件系统中的网站,SQL Express 2005存储aspnetdb,没有角色管理,经过K-Meleon,IE7.0和Chrome测试.

有任何想法吗?

解决方案:在与Rob进行一些邮寄后,我们有了理想的解决方案,现在已经接受了答案.



1> Rob Cooper..:

RE:接受的答案

喜欢给出的黑客.

我有一个网站使用名为" login.aspx " 的登录表单,一切正常.我认为我们应该找到答案而不是黑客.因为所有[推测]测试的网站都有效.你不认为我们应该使用StackOverflow来找到ACTUAL问题吗?(使它比其他任何地方都有用吗?)

LoginCtl_Authenticate事件中,您是将EventArgs.Authenticated属性设置为true吗?

例如

protected void LoginCtl_Authenticate(object sender, AuthenticateEventArgs e)
{
   // Check the Credentials against DB
   bool authed = DAL.Authenticate(user, pass);
   e.Authenticated = authed;
}



2> Rob Cooper..:

我已经在您发送给我的文件中检查了代码(再次感谢您发送给我).

注意:我没有测试过,因为我没有安装数据库等.

但是,我很确定这是问题所在.

您需要为ASP.NET控件设置MembershipProvider属性.为它们定义:


    
        
    

和..


        
            
            
        
    

然后,它将控件绑定到具有给定名称的成员资格提供程序(您已在Web.Config中指定).

在你的解决方案中给出一个旋转,让我知道你是如何进行的.我希望这适合你:)

编辑

我还要补充,我知道你不应该需要做,因为默认的服务提供商设置的,但我有这个在过去的问题.我结束了他们全部设置为手动和所有工作得很好.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有