You would have .disabled somewhere in your own app code ognl expressions, I would guess. Could you please search for .disabled there? Or put a break-point at [1] and see what ognl, how and why are trying to access UIBean.disabled non-public member!

Regards

[1] https://github.com/apache/struts/blob/master/core/src/main/java/com/opensymphony/xwork2/ognl/SecurityMemberAccess.java#L99

On 1/3/2023 11:09 PM, Ralph Grove wrote:
I just upgraded from Struts2 2.5.3 to 6.1.1 .  After a few tweaks (mostly 
related to Bootstrap5), the application is running correctly, but it’s 
generating a new warning message (always 4 times):

[WARN ] 2023-01-03 14:20:08 [https-jsse-nio-8443-exec-186] SecurityMemberAccess 
- Access to non-public [protected java.lang.String 
org.apache.struts2.components.UIBean.disabled] is blocked!
[WARN ] 2023-01-03 14:20:08 [https-jsse-nio-8443-exec-186] SecurityMemberAccess 
- Access to non-public [protected java.lang.String 
org.apache.struts2.components.UIBean.disabled] is blocked!
[WARN ] 2023-01-03 14:20:08 [https-jsse-nio-8443-exec-186] SecurityMemberAccess 
- Access to non-public [protected java.lang.String 
org.apache.struts2.components.UIBean.disabled] is blocked!
[WARN ] 2023-01-03 14:20:08 [https-jsse-nio-8443-exec-186] SecurityMemberAccess 
- Access to non-public [protected java.lang.String 
org.apache.struts2.components.UIBean.disabled] is blocked!


The message is a result of the execution of this tag:
           <s:radio
             name="status"
             label="Status"
             list="statuses" />

The variables are setup by the action class shown below, which forwards to the 
JSP containing the s:radio tag.

It seems to be working correctly, but the warning messages are puzzling. Does 
anyone know why the warnings are appearing?

Thanks,
Ralph Grove

--------------------------------------

public class UserSetupAction extends ActionSupport {

     private static final Logger logger = 
LogManager.getLogger(UserSetupAction.class);
private String userId; private String firstName;
     private String lastName;
     private Calendar lastActivity;
     private Boolean projectAdmin;
     private Boolean systemAdmin;
     private char status;
     private Calendar statusDate;
private Map<Character, String> statuses;

     @Override
     public String execute() throws SQLException {
         try {
             User user = UserPersistence.getUser(userId);
firstName = user.getFirstName();
             lastName = user.getLastName();
             lastActivity = user.getLastActivity();
             projectAdmin = user.getProjectAdmin();
             systemAdmin = user.getSystemAdmin();
             status = user.getStatus();
             statusDate = user.getStatusDate();
statuses = User.getStatusMap(); return SUCCESS;
         } catch (Exception e) {
             logger.error("USA.execute(): ", e);
             return ERROR;
         }
     }
public String getUserId() {
         return userId;
     }
public void setUserId(String userId) {
         this.userId = userId;
     }
public String getFirstName() {
         return firstName;
     }
public void setFirstName(String firstName) {
         this.firstName = firstName;
     }
public String getLastName() {
         return lastName;
     }
public void setLastName(String lastName) {
         this.lastName = lastName;
     }
public Calendar getLastActivity() {
         return lastActivity;
     }
public void setLastActivity(Calendar lastActivity) {
         this.lastActivity = lastActivity;
     }
public Boolean getProjectAdmin() {
         return projectAdmin;
     }
public void setProjectAdmin(Boolean projectAdmin) {
         this.projectAdmin = projectAdmin;
     }
public Boolean getSystemAdmin() {
         return systemAdmin;
     }
public void setSystemAdmin(Boolean systemAdmin) {
         this.systemAdmin = systemAdmin;
     }
public char getStatus() {
         return status;
     }
public void setStatus(char status) {
         this.status = status;
     }
public Calendar getStatusDate() {
         return statusDate;
     }
public void setStatusDate(Calendar statusDate) {
         this.statusDate = statusDate;
     }
public Map<Character, String> getStatuses() {
         return statuses;
     }
public void setStatuses(Map<Character, String> statuses) {
         this.statuses = statuses;
     }
}


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to