【问题标题】:Authentication for same username and different password using spring使用spring对相同的用户名和不同的密码进行身份验证
【发布时间】:2013-07-26 10:02:11
【问题描述】:

我有一个网络应用程序。只有具有不同客户端创建的用户名和密码的用户才能进入应用程序。意味着具有相同用户名的用户可以使用不同的密码进入应用程序。 现在我的代码返回所有具有相同用户名的用户,但只接受最高位置的用户。为剩余用户提供错误。

public User findbyUserName(String username)
        { 
        Criteria crit = getSessionFactory().getCurrentSession().createCriteria(User.class);
        crit.add( Restrictions.eq("username", username));
        List<User> list=crit.list();
        if(list!=null && list.size()>0)
             return (User)list.get(0);
        else
             return null;
            }

请帮帮我。

【问题讨论】:

    标签: jquery spring jsp spring-security


    【解决方案1】:

    如果您有相同的用户名但使用不同的密码,您可以修改 findByUserName 以返回整个用户列表

    public List<User> findbyUserName(String username)
    {
        Criteria crit = getSessionFactory().getCurrentSession().createCriteria(User.class);
        crit.add(Restrictions.eq("username",username));
        return crit.list();
    }
    

    或者您可以通过用户名和密码进行特定搜索

    public User findbyUserNameAndPassword(String username,String password)
    {
        Criteria crit =getSessionFactory().getCurrentSession().createCriteria(User.class);
        crit.add(Restrictions.eq("username",username);
        crit.add(Restrictions.eq("password",password);
        try{
        return (User)crit.uniqueResult();
        }
        catch(Exception ex){
           //you have same user with same password twice
        }
    }  
    

    【讨论】:

      猜你喜欢
      • 2015-03-19
      • 1970-01-01
      • 2020-01-18
      • 2023-03-31
      • 2014-03-08
      • 2021-12-14
      • 2016-11-09
      • 1970-01-01
      相关资源
      最近更新 更多