Hello Matt, Controling pages look and feel according to users roles is also exactely what I need and what I am currently working on. The solution you suggest is interesting because it is simple and covers most cases.
However I am looking for a solution that 1 - would keep the security information around the controller rather than around the forms, 2 - could be extended so that the look and feel control could be based on session level or context level information other than pure security, 3 - would be open enough so that almost any page layout information could change depending on security. My suggestion would be to: A) declare the fields configurations as form options rather than as security constraints, this would look like <form-bean name="firstForm" type="org.apache.struts.webapp.example.FirstForm"> <options> <option name="editableAddress" <fields="street,city,zip" type="write"/> <fields="adressUpdate" type="enable"/> </option> <option name="readOnlyAdress" <fields="street,city,zip" type="readOnly"/> <fields="adressUpdate" type="disable"/> </option> <option name="simplifiedReadOnlyAddress" <fields="street,zip" type="invisible"/> <fields="adressUpdate" type="invisible"/> </option> </options> </form-bean> B) associate the security "roles" information to the action forward definition and to the form options, this would look like: <action path="/getAddress" type="GetAddressAction" roles="addressManagement,addressBrowsing,simpleViewing"> <forward name="success" path="/address.jsp"> <security roles="addressManagement" options="editableAddress" > <security roles="addressBrowsing" options="readOnlyAddress"> <security roles="simpleViewing" options="simplifiedReadOnlyAddress"> </forward> </action> C) provide form option reading/checking tags so that any JSP page code could rely on form options. I have not considered implementation yet. But though it would be more complex than your proposal, I have not identified design level obstacles. What do you think of my needs ? of my proposal ? thanks in advance. Michel -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>