• .NET2.0下CommunityServer21新注册用户成功,注销重新登录失败的问题


    跟踪来跟踪去最终发现是CommunityServer.ASPNet20MemberRole项目的问题,只要把CommunityServer.ASPNet20MemberRole项目替换为引用官方的CommunityServer.ASPNet20MemberRole.dll组件就没有问题。最明显的地方就是打开数据库的aspnet_Membership表的password字段,
    正常的密码应该是“SoQqOP2vGAXvtxDWik63bvAsaUY=”
    而使用错误的项目注册新用户产生的密码却是“rTn3JFHyGJtS7Qqy8ukbJ60vDd9llRh82zJt76O2dSc=”密码的长度都已经不一样了。应该是处理逻辑有问题。用反射器打开官方的组件和SDK项目中发现CSMembershipProvider类的不同的地方
    //官方2.1sp2版本
    public class CSMembershipProvider : SqlMembershipProvider, IApplicationName
    {
        
    // Methods
        public CSMembershipProvider();

        
    // Properties
        public override string ApplicationName { getset; }
    }

     
    Expand Methods
     

    public class CSMembershipProvider : CommunityServer.SqlMembershipProvider.SqlMembershipProvider, IApplicationName
            {
            
    public override string ApplicationName
            {
                
    get
                {
                    
    string text1 = CSContext.Current.SiteSettings.ApplicationName;
                    
    if (text1 == null)
                    {
                        text1 
    = base.ApplicationName;
                    }
                    
    return text1;
                }
                
    set
                {
                    
    base.ApplicationName = value;
                }
            }

        }

    很明显2.1sp2版本的CSMembershipProvider已经放弃从CS自定义的类CommunityServer.SqlMembershipProvider.SqlMembershipProvider转而使用.NET2.0版本的SqlMembershipProvider。替换掉后重新编译。新用户注册注销退出再登录后问题解决。看看密码,也回复正常。
  • 相关阅读:
    Javascript 之 存储
    Javascript 之 跨域
    Javascript 之 Ajax
    Javascript 之 事件
    流程控制语句
    JS属性操作
    JS效果的步骤
    遍历Map的四种方法
    自动删除ftp自动保存的密码
    IE6下png格式透明图片显示灰色的解决办法.
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/674818.html
Copyright © 2020-2023  润新知