它是确定使用.NET的MembershipProvider有一个Web应用程序的多个虚拟“应用程序”?

StackOverflow https://stackoverflow.com/questions/399941

我要从头开始构建类似门户网站的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表(我也有一部分在同一个表中插入应用程序)。

如果验证成功,那么应用程序名称是阔叶两个成员资格和角色提供者,否则停留在默认的是匿名用户预定义的应用程序。

有帮助吗?

解决方案

是的,我已经做了好几次somethihng相似。唯一的区别是,我在一个数据库表中根据用户进来过的,只确认为一个应用程序的URL看起来应用程序的名称了。该表有两个字段,URL和应用程序名称。该应用程序名是相同的应用程序名作为aspnet_Applications.ApplicationName字段。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top