- /**
- *获得当前应用下,用户拥有的所有角色名称
- */
- function getRoleNamesByUser(user){
- var rolesNames ="";
- var currentApplicationid =getApplication();
- var roles=user.getRoles();
- if(roles !=null){
- for(var iter = roles.iterator();iter.hasNext();){
- var roler = iter.next();
- if(currentApplicationid.equals(roler.getApplicationid())){
- rolesNames+=roler.getName() +";";
- }
- }
- }
- return rolesNames ;
- }
- /**
- * 判断是否存在
- * arryName 待验证数组,names
- *arryName=["采购","财务"] or ["财务"]
- */
- function isIndexOf(arryName,names){
- var flag = false ;
- for(var i =0;i<arryName.length;i++){
- if(names.indexOf(arryName[i]) >-1){
- flag = true ;
- break ;
- }
- }
- return flag ;
- }
- /**
- * 先从session获取
- */
- function isPowerRoleByName(arrayRoleName){
- var user = getWebUser();
- var rolesNames = "";
- if(user !=null){
- var userLoginName = user.getLoginno();
- var request = $WEB.getParamsTable().getHttpRequest();
- if(request !=null && request.getSession()!=null){
- var session = request.getSession();
- rolesNames = session.getAttribute(userLoginName+"roleIsPower");
- if(isNotNull(rolesNames)){
- return isIndexOf(arrayRoleName,rolesNames) ;
- }else{
- rolesNames = getRoleNamesByUser(user);
- session.setAttribute(userLoginName+"roleIsPower",rolesNames);// 存入session
- return isIndexOf(arrayRoleName,rolesNames) ;
- }
- }else{//session isnull
- var rolesNames =getRoleNamesByUser(user);
- return isIndexOf(arrayRoleName,rolesNames) ;
- }
- }else{
- return false ; // 没有用户
- }
- }
复制代码 |