asp.net-membership - 如何在成员(member)资格提供者上最好地实现自定义搜索

标签 asp.net-membership

开箱即用,System.Web.Security.Membership实现了两种搜索方法:

  • FindUsersBy通过电子邮件发送
  • FindUsersByName

  • 我正在使用WSAT project from CodePlex来管理我的成员(member)数据库。该工具在ProfileCommon类中实现了额外的配置文件属性。

    假设我的用户个人资料中有一个名为的公司。

    我需要实现一种自定义搜索方法来搜索Firm属性,并且我想在代码中全部完成这些操作。不想编写存储过程(因为所有概要文件属性都存储在WSAT工具的1个数据库列中)。

    这样的事情显然不是正确的方法,但是这里只是为了演示如何访问用户的配置文件属性:
        private MembershipUserCollection SearchByFirm(string firmName, MembershipUserCollection allRegisteredUsers)
    {
        MembershipUserCollection searchResults = new MembershipUserCollection();
    
        foreach (MembershipUser user in allRegisteredUsers)
        {
            ProfileCommon profile = Profile.GetProfile(user.UserName);
            if (profile.Firm.ToLowerInvariant().Contains(firmName.ToLowerInvariant()))
            {
                searchResults.Add(user);
            }
        }
        return searchResults;
    }
    

    我可以将其转变为LINQ的优点吗?

    最佳答案

    好吧,你不能只投下它吗?

    IEnumerable<MembershipUser> searchResults = Membership.GetAllUsers().Cast<MembershipUser>();
    

    希望这对你们有帮助

    关于asp.net-membership - 如何在成员(member)资格提供者上最好地实现自定义搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/419127/

    相关文章:

    asp.net-mvc - 显示用户全名而不是用户名

    asp.net - 来自 web.config 的 Asp .Net 自定义成员资格参数

    asp.net-membership - 为什么 Membership.GetUser() 尝试创建表应用程序?

    asp.net-membership - Asp.net成员资格-帐户被锁定

    c# - 以编程方式将用户登录到 asp.net 成员资格和角色?

    c# - Membership.Providers GetUser 在使用用户名时返回 null

    c# - MVC 5 IIS;在 web.config 之前使用 machine.config

    asp.net-mvc - ASP.NET MVC 成员资格 - 用户经常注销 - 不知道为什么

    asp.net-membership - aspnet mvc 使用 aspnet_users 表扩展成员身份详细信息

    sql-server - 带有我自己的数据库表和列的 ASP.NET MVC 4 安全架构