Project

General

Profile

« Previous | Next » 

Revision daf9013d

Added by Katja Luther over 12 years ago

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/permission/CdmPermissionEvaluator.java
54 54
		}else {
55 55
			cdmPermission = (CdmPermission)permission;
56 56
		}
57
		
57 58
        Collection<GrantedAuthority> authorities = ((User)authentication.getPrincipal()).getAuthorities();
58 59
        AuthorityPermission evalPermission;
59 60
        try{
......
63 64
        	//evalPermission = new AuthorityPermission(targetDomainObject.getClass().getSimpleName().toUpperCase(), cdmPermission, null);
64 65
        	evalPermission = new AuthorityPermission(targetDomainObject, cdmPermission, null);
65 66
        }
67
        
66 68
        	//FIXME this is a workaround until the concept of CdmPermissionClass is finally discussed
67 69
		if (evalPermission.className != null) {
68 70
			return evalPermission(authorities, evalPermission,
......
102 104
        for (GrantedAuthority authority: authorities){
103 105
            AuthorityPermission authorityPermission= new AuthorityPermission(authority.getAuthority());
104 106
            //evaluate authorities
105
            if (authorityPermission.className.equals(evalPermission.className) && (authorityPermission.permission.equals(evalPermission.permission)|| authorityPermission.permission.equals(CdmPermission.ADMIN))){
107
           if ((authorityPermission.className.equals(evalPermission.className) || authorityPermission.className.equals(CdmPermissionClass.ALL))&& (authorityPermission.permission.equals(evalPermission.permission)|| authorityPermission.permission.equals(CdmPermission.ADMIN))){
106 108
                if (authorityPermission.targetUuid != null){
107 109
                    //TODO
108 110

  
109 111
                }else{
110
                    return true;
112
                	return true;
111 113
                }
112 114

  
113 115
            }
......
115 117
            if (authorityPermission.targetUuid != null){
116 118
                if (authorityPermission.targetUuid.equals(((CdmBase)targetDomainObject).getUuid())){
117 119
                    if (authorityPermission.permission.equals(evalPermission.permission)){
118
                        return true;
120
                    	return true;
119 121
                    }
120 122
                }
121 123
            }
......
125 127
                TaxonNode targetNode = findTargetUuidInTree(authorityPermission.targetUuid, node);
126 128
                if (targetNode != null){
127 129
                    if (evalPermission.permission.equals(authorityPermission.permission) ){
128
                        return true;
130
                    	return true;
129 131
                    }
130 132
                }
131 133
            }

Also available in: Unified diff