Ignore:
Timestamp:
2007-08-08T19:08:22+12:00 (17 years ago)
Author:
qq6
Message:

give a warning message if the username has existed in the table

File:
1 edited

Legend:

Unmodified
Added
Removed
  • greenstone3/trunk/src/java/org/greenstone/gsdl3/service/Authentication.java

    r14343 r14347  
    196196        derbyWrapper.connectDatabase(usersDB_dir,true);
    197197        derbyWrapper.createDatabase();
     198    }else{
     199        derbyWrapper.connectDatabase(usersDB_dir, false);
    198200    }
    199201
     
    202204        if (uan.equals("")){
    203205        service_node.setAttribute("info","Login");
     206        derbyWrapper.closeDatabase();
    204207        return result;
    205208        }
     
    210213            service_node.setAttribute("asn","0");
    211214            service_node.setAttribute("info","Login");
     215             derbyWrapper.closeDatabase();
    212216            return result;
    213217        }
     
    216220            service_node.setAttribute("info","Login");
    217221            service_node.setAttribute("err","un-pw-err");
     222            derbyWrapper.closeDatabase();
    218223            return result;
    219224        }else{ 
    220             derbyWrapper.connectDatabase(usersDB_dir, false);
    221225            userQueryResult=derbyWrapper.findUser(un,pw);
    222226            derbyWrapper.closeDatabase();
     
    224228           
    225229            service_node.setAttribute("un",un);
    226             service_node.setAttribute("pw",pw);
    227230            //  service_node.setAttribute("asn",asn);
    228231            if (userQueryResult==null){
     
    231234            service_node.setAttribute("err","un-pw-err");
    232235            service_node.setAttribute("info","Login");
     236            derbyWrapper.closeDatabase();
    233237            return result;
    234238            }else{
     
    258262        service_node.setAttribute("info","Login");
    259263        service_node.setAttribute("err","not-authen");
     264        derbyWrapper.closeDatabase();
    260265        return result;
    261266        }
     
    264269        service_node.setAttribute("info","Login");
    265270        service_node.setAttribute("un",un);
    266         service_node.setAttribute("pw",pw);
    267271        service_node.setAttribute("asn",asn);
     272        derbyWrapper.closeDatabase();
    268273        return result;
    269274        }
     
    274279        if (asn.equals("") && un.equals("")){
    275280        service_node.setAttribute("info","Login");
     281        derbyWrapper.closeDatabase();
    276282        return result;
    277283        }
     
    283289        service_node.setAttribute("un",un);
    284290        service_node.setAttribute("asn",asn);
     291        derbyWrapper.closeDatabase();
    285292        return result;
    286293        }
    287294        //valid users are in the administrator group, they can list all users(asn=1)
    288295        if (asn.equals("1")){
    289         derbyWrapper.connectDatabase(usersDB_dir, false);
    290296        userQueryResult=derbyWrapper.findUser(null,null);
    291297        derbyWrapper.closeDatabase();
     
    298304            Element user_node=getUserNode(userQueryResult);
    299305            service_node.appendChild(user_node);
     306            derbyWrapper.closeDatabase();
    300307            return result;
    301308        }else {
    302309            service_node.setAttribute("err","no-un"); // no user returned
     310            derbyWrapper.closeDatabase();
    303311            return result;
    304312        }   
     
    308316    //Action : adduder
    309317    if (aup.equals("AddUser")){
    310         if (asn.equals("") && un.equals("")){
    311         service_node.setAttribute("info","Login");
    312         return result;
    313         }
    314318        //valid users can't add a new user because they aren't in the administrator group(asn=2)
    315319        if (asn.equals("2")){
     
    317321        service_node.setAttribute("err","no-permission");
    318322        service_node.setAttribute("un",un);
    319         service_node.setAttribute("pw",pw);
    320323        service_node.setAttribute("asn",asn);
     324        derbyWrapper.closeDatabase();
    321325        return result;
    322326        }
     
    325329        service_node.setAttribute(GSXML.NAME_ATT,"Authentication");
    326330        service_node.setAttribute("un",un);
    327         service_node.setAttribute("pw",pw);
    328331        service_node.setAttribute("asn",asn);
    329332
    330333        if (umun.length()==0 && umpw.length()==0 && umgp.length()==0 && umas.length()==0 && umc.length()==0){
    331334            service_node.setAttribute("info","adduser_interface");
     335            derbyWrapper.closeDatabase();
    332336            return result;
    333337        }
     
    337341            service_node.setAttribute("err","un-err"); //the input username string is illegal
    338342            service_node.setAttribute("info","adduser_interface");
    339             return result;
    340         }
    341    
     343            derbyWrapper.closeDatabase();
     344            return result;
     345        }
     346       
    342347        if ((umpw==null) || (umpw.length()<3) || (umpw.length()>8) || (!(Pattern.matches("[\\p{ASCII}]+",umpw)))){
    343348            service_node.setAttribute("err","pw-err"); //the input passwrod string is illegal
    344349            service_node.setAttribute("info","adduser_interface");
     350            derbyWrapper.closeDatabase();
    345351            return result;
    346352        }
     
    348354        // add the new users into the users table
    349355        umgp=umgp.replaceAll(" ","");//get rid of the space of the groups string
    350         derbyWrapper.connectDatabase(usersDB_dir, false);
    351         String add_user=derbyWrapper.addUser(umun,umpw,umgp,umas,umc);
    352         if (add_user.equals("succeed")){
    353             userQueryResult=derbyWrapper.findUser(null,null);
    354             derbyWrapper.closeDatabase();
    355             service_node.setAttribute("info","all-un"); // return a list of all users if the user has been added
    356             Element user_node=getUserNode(userQueryResult);
    357             service_node.appendChild(user_node);
     356        userQueryResult=derbyWrapper.findUser(umun,null);// check whether the new user name has existed in the table.
     357        if (userQueryResult!=null){
     358            service_node.setAttribute("err","un-exist"); //the new username string is duplicated
     359            service_node.setAttribute("info","adduser_interface");
     360            derbyWrapper.closeDatabase();
    358361            return result;
    359362        }else{
    360             derbyWrapper.closeDatabase();
    361             service_node.setAttribute("err",add_user);// return the error message if the user couldn't be added
    362             return result;
     363            String add_user=derbyWrapper.addUser(umun,umpw,umgp,umas,umc);
     364            if (add_user.equals("succeed")){
     365            userQueryResult=derbyWrapper.findUser(null,null);
     366            derbyWrapper.closeDatabase();
     367            service_node.setAttribute("info","all-un"); // return a list of all users if the user has been added
     368            Element user_node=getUserNode(userQueryResult);
     369            service_node.appendChild(user_node);
     370            derbyWrapper.closeDatabase();
     371            return result;
     372            }else{
     373            derbyWrapper.closeDatabase();
     374            service_node.setAttribute("err",add_user);// return the error message if the user couldn't be added
     375            derbyWrapper.closeDatabase();
     376            return result;
     377            }
    363378        }
    364379        }
     
    367382    //Action: edituser
    368383    if (aup.equals("EditUser")){
    369         derbyWrapper.connectDatabase(usersDB_dir, false);
    370384        service_node.setAttribute(GSXML.NAME_ATT,"Authentication");
    371385        service_node.setAttribute("un",un);
    372         service_node.setAttribute("pw",pw);
    373386        service_node.setAttribute("asn",asn);
    374387       
     
    391404        service_node.setAttribute("umas",accountstatus);
    392405        service_node.setAttribute("umc",comment);
     406        derbyWrapper.closeDatabase();
    393407        return result;
    394408        }
     
    404418            Element user_node=getUserNode(userQueryResult);
    405419            service_node.appendChild(user_node);
     420            derbyWrapper.closeDatabase();
    406421            return result;
    407422            }else{
     
    415430                service_node.setAttribute("umc",umc);
    416431                service_node.setAttribute("oumun",oumun);
     432                derbyWrapper.closeDatabase();
    417433                return result;
    418434            }
    419435            umgp=umgp.replaceAll(" ","");// get rid of the space
    420436            derbyWrapper.modifyUserInfo(umun,umpw,umgp,umas,umc);
    421             userQueryResult=derbyWrapper.findUser(null,null);
     437            userQueryResult=derbyWrapper.listAllUser();
    422438            derbyWrapper.closeDatabase();
    423439            service_node.setAttribute("info","all-un"); // if the new user has been added successfully, return a list of all users
    424440            Element user_node=getUserNode(userQueryResult);
    425441            service_node.appendChild(user_node);
     442            derbyWrapper.closeDatabase();
    426443            return result;
    427444            }
     
    438455            service_node.setAttribute("oumun",oumun);
    439456            service_node.setAttribute("info","edituser-interface");
     457            derbyWrapper.closeDatabase();
    440458            return result;
    441459            }
     
    449467            service_node.setAttribute("umc",umc);
    450468            service_node.setAttribute("oumun",oumun);
     469            derbyWrapper.closeDatabase();
    451470            return result;
    452471            }
     
    460479            service_node.setAttribute("umc",umc);
    461480            service_node.setAttribute("oumun",oumun);
     481            derbyWrapper.closeDatabase();
    462482            return result;
    463483            }
    464484            umgp=umgp.replaceAll(" ","");// get rid of the space
    465             derbyWrapper.addUser(umun,umpw,umgp,umas,umc);
    466             userQueryResult=derbyWrapper.findUser(null,null);
    467             derbyWrapper.closeDatabase();
    468             service_node.setAttribute("info","all-un"); // if the new user has been added successfully, return a list of all users
    469             Element user_node=getUserNode(userQueryResult);
    470             service_node.appendChild(user_node);
    471             return result;
     485            userQueryResult=derbyWrapper.findUser(umun,null);// check whether the new user name has existed in the table.
     486            if (userQueryResult!=null){
     487            service_node.setAttribute("err","un-exist"); //the new username string is duplicated
     488            service_node.setAttribute("info","edituser-interface");
     489            service_node.setAttribute("umun","");
     490            service_node.setAttribute("umpw","");
     491            service_node.setAttribute("umgp",umgp);
     492            service_node.setAttribute("umas",umas);
     493            service_node.setAttribute("umc",umc);
     494            service_node.setAttribute("oumun",oumun);
     495            derbyWrapper.closeDatabase();
     496            return result;
     497            }else{
     498            derbyWrapper.addUser(umun,umpw,umgp,umas,umc);
     499            userQueryResult=derbyWrapper.listAllUser();
     500            derbyWrapper.closeDatabase();
     501            service_node.setAttribute("info","all-un"); // if the new user has been added successfully, return a list of all users
     502            Element user_node=getUserNode(userQueryResult);
     503            service_node.appendChild(user_node);
     504            derbyWrapper.closeDatabase();
     505            return result;
     506            }
    472507        }
    473508        }
    474509
    475510        if (cm.toLowerCase().equals("cancel")){
    476         userQueryResult=derbyWrapper.findUser(null,null);
     511        userQueryResult=derbyWrapper.listAllUser();
    477512        derbyWrapper.closeDatabase();
    478513        service_node.setAttribute("info","all-un"); // if the new user has been added successfully, return a list of all users
    479514        Element user_node=getUserNode(userQueryResult);
    480515        service_node.appendChild(user_node);
     516        derbyWrapper.closeDatabase();
    481517        return result;
    482518        }
     
    487523        if (un.equals("")){
    488524        service_node.setAttribute("info","Login");
    489         return result;
    490         }
    491 
    492         derbyWrapper.connectDatabase(usersDB_dir, false);
     525        derbyWrapper.closeDatabase();
     526        return result;
     527        }
     528
    493529        service_node.setAttribute(GSXML.NAME_ATT,"Authentication");
    494530        service_node.setAttribute("un",un);
     
    561597    //Action: deleteuser
    562598    if (aup.equals("DeleteUser")){
    563         derbyWrapper.connectDatabase(usersDB_dir, false);
    564599        service_node.setAttribute("un",un);
    565         service_node.setAttribute("pw",pw);
    566600        service_node.setAttribute("asn",asn);
    567601        service_node.setAttribute("umun",umun);
     
    570604        if (delete_user.equals("succeed")){
    571605            service_node.setAttribute("err","");
    572             userQueryResult=derbyWrapper.findUser(null,null);
     606            userQueryResult=derbyWrapper.listAllUser();
    573607            service_node.setAttribute("info","all-un"); //  return a list of all users
    574608            Element user_node=getUserNode(userQueryResult);
     
    581615        }else if (cm.equals("no")){
    582616        service_node.setAttribute("err","");
    583         userQueryResult=derbyWrapper.findUser(null,null);
     617        userQueryResult=derbyWrapper.listAllUser();
    584618        service_node.setAttribute("info","all-un"); //  return a list of all users
    585619        Element user_node=getUserNode(userQueryResult);
Note: See TracChangeset for help on using the changeset viewer.