【问题标题】:Is it ok to use .NET MembershipProvider to have multiple virtual "applications" on one web application?可以使用 .NET MembershipProvider 在一个 Web 应用程序上拥有多个虚拟“应用程序”吗?
【发布时间】:2008-12-30 10:30:23
【问题描述】:

我想从头开始构建类似门户的 asp.net Web 应用程序,并且将 asp.net MembershipProvider 视为用户管理的标准方式。我创建了从 SqlMembershipProvider 继承的提供程序并覆盖了 ValidateUser 方法:

        public override bool ValidateUser(string username, string password)
        {
            string temp = ApplicationName;
            List<MtscApp> allApps = GetAllApplications();
            foreach (MtscApp app in allApps)
            {
                ApplicationName = app.Name;
                Roles.ApplicationName = app.Name;
                if (base.ValidateUser(username, password))
                {
                    return true;
                }
            }
            ApplicationName = temp;
            Roles.ApplicationName = temp;
            return false;
        }

我正在尝试针对所有应用程序验证输入的凭据,而 GetAllApplicationsMethod() 从 aspnet_Applications 表中获取所有应用程序(我也有在同一个表中插入应用程序的部分)。

如果验证成功,则应用程序名称保留在成员资格和角色提供程序上,否则将保留默认名称,即为匿名用户预定义的应用程序。

【问题讨论】:

    标签: asp.net membership-provider portal-system


    【解决方案1】:

    是的,我曾多次做过类似的事情。唯一的区别是我根据用户进入的 URL 在数据库表中查找应用程序名称,并且只验证该应用程序。该表有两个字段,URL 和 ApplicationName。 ApplicationName 与 aspnet_Applications.ApplicationName 字段的 ApplicationName 相同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多