How to retrieve the calling User in a custom function without passing it as a parameter ?

Certified Associate Developer

Hello, 

Could you please tell me how can i retrieve the caller of a custom function inside this function (in java) ?  I would like to check at least if he has the sysadmin rights.

Thanks in advance 

David 

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Associate Developer

    	@Function
    	public TypedValue sysInfo(ServiceContext
    			  sc,UserProfileService ups_) throws AppianException {
    		HashMap<TypedValue, TypedValue> ret = new HashMap<TypedValue, TypedValue>();
    		try {
    			
    			UserProfile profile = ups_.getUser(sc.getName());
    			if (!profile.getUserTypeId().equals(UserProfile.USER_TYPE_SYS_ADMIN)) {
    				String errorText = "User " + profile.getUsername()
    						+ " is not a System Administrator.  You must run sysInfo as an administrator.";
    				LOG.error(errorText);
    				throw new Exception(errorText);
    			}
    			
    	.....		
    	
    	

Reply
  • 0
    Certified Associate Developer

    	@Function
    	public TypedValue sysInfo(ServiceContext
    			  sc,UserProfileService ups_) throws AppianException {
    		HashMap<TypedValue, TypedValue> ret = new HashMap<TypedValue, TypedValue>();
    		try {
    			
    			UserProfile profile = ups_.getUser(sc.getName());
    			if (!profile.getUserTypeId().equals(UserProfile.USER_TYPE_SYS_ADMIN)) {
    				String errorText = "User " + profile.getUsername()
    						+ " is not a System Administrator.  You must run sysInfo as an administrator.";
    				LOG.error(errorText);
    				throw new Exception(errorText);
    			}
    			
    	.....		
    	
    	

Children
No Data