svn commit: r1015104 [3/3] - /websites/production/struts/content/docs/
Modified: websites/production/struts/content/docs/tutorials.html == --- websites/production/struts/content/docs/tutorials.html (original) +++ websites/production/struts/content/docs/tutorials.html Fri Jul 7 16:46:14 2017 @@ -125,7 +125,7 @@ under the License. -The framework documentation is written for active web developers and assumes a working knowledge about how Java web applications are built. For more about the underlying nuts and bolts, see the http://struts.apache.org/primer.html;>Key Technologies Primer.Several tutorials are available to help you get started with the framework, from all-purpose "soup to nuts" tutorials to specialty tutorials on portlets and database access.PrimersBootstrap - few simple steps how to start with Struts 2Getting Started - Tutorial s For Struts 2 BeginnersStruts 2 + Spring 2 + JPA + AJAXhttps://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/star_yellow.png; data-emoticon-name="yellow-star" alt="(star)"> http://www.scribd.com/doc/25244173/Java-Struts-Hibernate-Tutorial; rel="nofollow">Struts 2 / Hibernate Tutorialhttps://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/star_yellow.png; data-emoticon-name="yellow-star" alt="(star)"> http://www.brucephillips.name/blog/index.cfm/2010/12/28/Recommended-Way-To-Structure-A-Spring-3-JPA-2-and-Maven-Web-Application; rel="nofollow">Struts 2, Spring 3, JPA 2, Maven Example< /ul>SpecialityExtending an Application with Custom PluginsCRUD Made Easyhttp://www.jgeppert.com/2015/05/creating-java-web-applications-with-angularjs-and-struts2/; rel="nofollow">Creating java web applications with AngularJS and Struts2http://www.jgeppert.com/2011/05/4-easy-steps-to-create-a-java-based-web-application-with-struts2-and-jquery/; rel="nofollow">4 Easy Steps to create a Java based Web Application with Struts2 and jQueryJasperReports TutorialPortlet TutorialDeveloping a Portlet using Eclips eStruts 2 JUnit Plugin TutorialExamplesSeveral example applications are bundled with the framework, as ready-to-deploy WARs.BlankAn "empty" application that you can use as the starting point for your own projects.MailReaderA simple application that demonstrates best practices.PortletAn application demonstrating portlet supportShowcaseA sampling of common (and not so common) use cases.Other ExamplesSimple examples and links to "powered by" sitesFor the complete source code to the applications, see the source code distribution.Errata?To suggest a change or a correction to any part of the documentation, log in and leave a comment on the appropriate page. We are always looking for http://struts.apache.org/2.x/docs/contributors-guide.html ">help with the documentation!Next: Guides +The framework documentation is written for active web developers and assumes a working knowledge about how Java web applications are built. For more about the underlying nuts and bolts, see the http://struts.apache.org/primer.html;>Key Technologies Primer.Several tutorials are available to help you get started with the framework, from all-purpose "soup to nuts" tutorials to specialty tutorials on portlets and database access.PrimersBootstrap - few simple steps how to start with Struts 2Struts 2 + Spring 2 + JPA + AJAXhttps://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/star_yellow.png; data-emoticon-name="yellow-star" alt="(star)"> http://www.scribd.com/doc/25244173/Java-Struts-Hibernate-Tutorial; rel="nofollow">Struts 2 / Hibernate Tutorialhttps://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/star_yellow.png; data-emoticon-name="yellow-star" alt="(star)"> http://www.brucephillips.name/blog/index.cfm/2010/12/28/Recommended-Way-To-Structure-A-Spring-3-JPA-2-and-Maven-Web-Application; rel="nofollow">Struts 2, Spring 3, JPA 2, Maven ExampleSpecialityExtending an Application with Custom PluginsCRUD Made Easyhttp://www.jgeppert.com/2015/05/creating-java-web-applications-with-angularjs-and-struts2/; rel="nofollow">Creating java web applications with AngularJS and Struts2http://www.jgeppert.com/2011/05/4-easy-steps-to-create-a-java-based-web-application-with-struts2-and-jquery/; rel="nofollow">4 Easy Steps to create a Java based Web Application with Struts2 and jQueryJasperReports TutorialPortlet TutorialDeveloping a Portlet using EclipseStruts 2 JUnit Plugin Tutorial ExamplesSeveral example applications are bundled with the framework, as ready-to-deploy WARs.BlankAn "empty" application that you can use as the starting point for your own projects.MailReaderA simple application that demonstrates best practices.PortletAn application demonstrating portlet supportShowcaseA
svn commit: r1015104 [1/3] - /websites/production/struts/content/docs/
Author: lukaszlenart Date: Fri Jul 7 16:46:14 2017 New Revision: 1015104 Log: Updates production Added: websites/production/struts/content/docs/s2-048.html websites/production/struts/content/docs/version-notes-2333.html websites/production/struts/content/docs/version-notes-2512.html Modified: websites/production/struts/content/docs/actionmapper.html websites/production/struts/content/docs/can-we-use-jstl-with-the-framework.html websites/production/struts/content/docs/client-validation.html websites/production/struts/content/docs/core-developers-guide.html websites/production/struts/content/docs/file-upload.html websites/production/struts/content/docs/freemarker.html websites/production/struts/content/docs/getting-started.html websites/production/struts/content/docs/guides.html websites/production/struts/content/docs/interceptors.html websites/production/struts/content/docs/jasperreports-plugin.html websites/production/struts/content/docs/localization.html websites/production/struts/content/docs/plugins.html websites/production/struts/content/docs/security-bulletins.html websites/production/struts/content/docs/security.html websites/production/struts/content/docs/spring-plugin.html websites/production/struts/content/docs/struts-defaultxml.html websites/production/struts/content/docs/strutsproperties.html websites/production/struts/content/docs/strutsxml-examples.html websites/production/struts/content/docs/tiles-plugin.html websites/production/struts/content/docs/tutorials.html websites/production/struts/content/docs/type-conversion.html websites/production/struts/content/docs/validation.html websites/production/struts/content/docs/validations-annotation.html websites/production/struts/content/docs/xhtml-theme.html Modified: websites/production/struts/content/docs/actionmapper.html == --- websites/production/struts/content/docs/actionmapper.html (original) +++ websites/production/struts/content/docs/actionmapper.html Fri Jul 7 16:46:14 2017 @@ -140,11 +140,11 @@ under the License. /**/ +/*]]>*/ DescriptionDefaultActionMapper Method prefixAction prefixAllowed action name RegExAllowed method name RegEx Custom ActionMapperCompositeActionMapperPrefixBasedActionMapperActionMapper and ActionMapping objects @@ -232,7 +232,7 @@ The factory will use the same set of pat } } -https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/lightbulb_on.png; data-emoticon-name="light-on" alt="(lightbulb)"> See also: RestfulActionMapperNext: Action Proxy ActionProxy Factory +https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/lightbulb_on.png; data-emoticon-name="light-on" alt="(lightbulb)"> See also: RestfulActionMapperNext: Action Proxy ActionProxy Factory Modified: websites/production/struts/content/docs/can-we-use-jstl-with-the-framework.html == --- websites/production/struts/content/docs/can-we-use-jstl-with-the-framework.html (original) +++ websites/production/struts/content/docs/can-we-use-jstl-with-the-framework.html Fri Jul 7 16:46:14 2017 @@ -141,7 +141,7 @@ under the License. About JSTLThe http://java.sun.com/products/jsp/jstl/; rel="nofollow">JavaServer Pages Standard Tag Library (JSTL) encapsulates as simple tags the core functionality common to many Web applications. JSTL has support for common, structural tasks such as iteration and conditionals, tags for manipulating XML documents, internationalization tags, and SQL tags. -https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/check.png; data-emoticon-name="tick" alt="(tick)"> JSTL integration is built into the framework - there are no steps required to enable it. Simply refer to your JSTL expressions just as you would with a normal SAF JSP tag, such as the property tag. +https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/check.png; data-emoticon-name="tick" alt="(tick)"> JSTL integration is built into the framework - there are no steps required to enable it. Simply refer to your JSTL expressions just as you would with a normal SAF JSP tag, such as the property tag.
svn commit: r1015104 [2/3] - /websites/production/struts/content/docs/
Modified: websites/production/struts/content/docs/localization.html == --- websites/production/struts/content/docs/localization.html (original) +++ websites/production/struts/content/docs/localization.html Fri Jul 7 16:46:14 2017 @@ -140,14 +140,14 @@ under the License. /**/ +/*]]>*/ OverviewResource Bundle Search Order Default action's classUsing getText from a TagUsing the text tagUsing the I18n tagUsing the Key attribute of UI Tags -I18n InterceptorGlobal Resources (struts.custom.i18n.resources) in struts.propertiesFormatting Dates and NumbersComparison with Struts 1Custom TextProvider and TextProviderFactoryNext: Type Conversion +I18n InterceptorGlobal Resources (struts.custom.i18n.resources) in struts.propertiesFormatting Dates and NumbersComparison with Struts 1Using only global bundlesCustom TextProvider and TextProviderFactoryNext: Type Conversion OverviewThe framework supports internationalization (i18n) in the following places:the UI TagsMessages and Errors from the http://struts.apache.org/2.0.6/struts2-core/apidocs/index.html?com/opensymphony/xwork2/ValidationAware.html;>ValidationAware interface (implemented by http://struts.apache.org/2.0.6/struts2-core/apidocs/index.html?com/opensymphony/xwork2/ActionSupport.html;>ActionSupport and http://struts.apache.org/2.0.6/struts2-core/apidocs/index.html?com/opensymphony/xwork2/ValidationAwareSupport.html;>ValidationAwareSupport)Within action classes that extend http://struts.apache.org/2.0.6/struts2-core/apidocs/index.html?com/opensymphony/xwork2/ActionSupport.html;>ActionSupport through the getText() methodResource Bundle Search OrderResource bundles are searched in the following order:ActionClass.propertiesInterface.properties (every interface and sub-interface)BaseClass.properties (all the way to Object.properties)ModelDriven's model (if implements ModelDriven), for the model object repeat from 1package.properties (of the directory where class is located and every parent directory all the way to the root directory)search up the i18n message key hierarchy itselfglobal resource propertiesThis is how it is implemented in a default implementation of theLocalizedTextProviderinterface. You can provide your own implementation using TextProviderand TextProviderFactoryinterfaces.Package hierarchyTo clarify #5, while traversing the package hierarchy, Struts 2 will look for a file package.properties: com/ acme/ @@ -188,7 +188,9 @@ div.rbtoc1492970016830 li {margin-left: ]]> Internationalizing SiteMesh decorators is possible, but there are quirks. See https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=33343;>SiteMesh Plugin for more.Using the Key attribute of UI TagsThe key attribute of most UI tags can be used to retrieve a message from a resource bundle: s:textfield key="some.key" name="textfieldName"/ -I18n InterceptorEssentially, the i18n Interceptor pushes a locale into the ActionContext map upon every request. The framework components that support localization all utilize the ActionContext locale. See I18n Interceptor for details.Global Resources (struts.custom.i18n.resources) in struts.propertiesA global resource bundle could be specified programmatically, as well as the locale.Formatting Dates and NumbersSee Formatting Dates and Numbers for more details and examples.Comparison with Struts 1Struts 1 users should be familiar with the application.properties resource bundle, where you can pu t all the messages in the application that are going to be translated. Struts 2, though, splits the resource bundles per action or model class, and you may end up with duplicated messages in those resource bundles. A quick fix for that is to create a file called ActionSupport.properties in com/opensymphony/xwork2 and put it on your classpath. This will only work well if all your actions subclass XWork2's ActionSupport.Custom TextProvider and TextProviderFactoryIf you want use a different logic to search for localized messages, or you want to use a database or just want to search default bundles, you must implement both those interfaces (or subclass the existing implementations). You can check a small https://github.com/apache/struts-examples/tree/master/text-provider; rel="nofollow">example app how to use both. Please remember that theTextProvider interface is implemented by theActioSupport class, that's why an extra layer -TextProviderFactory - is needed.Next: Type Conversion +I18n InterceptorEssentially, the i18n
svn commit: r1015103 - in /websites/production/struts/content: announce.html index.html
Author: lukaszlenart Date: Fri Jul 7 16:25:47 2017 New Revision: 1015103 Log: Updates production Modified: websites/production/struts/content/announce.html websites/production/struts/content/index.html Modified: websites/production/struts/content/announce.html == --- websites/production/struts/content/announce.html (original) +++ websites/production/struts/content/announce.html Fri Jul 7 16:25:47 2017 @@ -125,6 +125,7 @@ Announcements + 9 July 2017 - Possible RCE in the Struts Showcase app in the Struts 1 plugin example in the Struts 2.3.x series 23 march 2017 - Struts Extras secure Multipart plugins General Availability - versions 1.1 20 march 2017 - Struts Extras secure Multipart plugins General Availability 7 march 2017 - Struts 2.5.10.1 General Availability @@ -136,6 +137,21 @@ Skip to: Announcements - 2016 +9 July 2017 - Possible RCE in the Struts Showcase app in the Struts 1 plugin example in the Struts 2.3.x series + +A potential security vulnerability was reported in the Struts 1 plugin used in the Struts 2.3.x series. +It is possible to perform a Remote Code Execution attack if given construction exists in the vulnerable +application. Please read the security bulletin for more details and inspect your application. + + + S2-048 +Possible RCE in the Struts Showcase app in the Struts 1 plugin example in Struts 2.3.x series + + +NOTE: Please notice that this vulnerability does not affect applications using Struts 2.5.x series +or applications that do not use the Struts 1 plugin. Even if the plugin is available but certain code +construction is not present, your application is safe. + 23 march 2017 - Struts Extras secure Multipart plugins General Availability - versions 1.1 The Apache Struts group is pleased to announce that the Apache Struts 2 Secure Jakarta Multipart parser plugin 1.1 Modified: websites/production/struts/content/index.html == --- websites/production/struts/content/index.html (original) +++ websites/production/struts/content/index.html Fri Jul 7 16:25:47 2017 @@ -166,6 +166,12 @@ +Potential RCE vulnerability in the Showcase app + + A potential security vulnerability was reported in the Struts 1 plugin used in the Struts 2.3.x series. + Please read more in S2-048 or in the official + Announcement + Apache Struts Extras GA
struts git commit: [maven-release-plugin] prepare for next development iteration
Repository: struts Updated Branches: refs/heads/support-2-3 631ce98d1 -> 16eb7fa76 [maven-release-plugin] prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/16eb7fa7 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/16eb7fa7 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/16eb7fa7 Branch: refs/heads/support-2-3 Commit: 16eb7fa768b0c54b76f6241e56a59a509a4c0a3f Parents: 631ce98 Author: Lukasz LenartAuthored: Fri Jul 7 14:47:26 2017 +0200 Committer: Lukasz Lenart Committed: Fri Jul 7 14:47:26 2017 +0200 -- apps/blank/pom.xml | 2 +- apps/jboss-blank/pom.xml| 2 +- apps/mailreader/pom.xml | 2 +- apps/pom.xml| 2 +- apps/portlet/pom.xml| 2 +- apps/rest-showcase/pom.xml | 4 ++-- apps/showcase/pom.xml | 2 +- archetypes/pom.xml | 2 +- archetypes/struts2-archetype-angularjs/pom.xml | 2 +- archetypes/struts2-archetype-blank/pom.xml | 2 +- archetypes/struts2-archetype-convention/pom.xml | 2 +- archetypes/struts2-archetype-dbportlet/pom.xml | 2 +- archetypes/struts2-archetype-plugin/pom.xml | 2 +- archetypes/struts2-archetype-portlet/pom.xml| 2 +- archetypes/struts2-archetype-starter/pom.xml| 2 +- assembly/pom.xml| 2 +- bom/pom.xml | 6 +++--- bundles/admin/pom.xml | 2 +- bundles/demo/pom.xml| 2 +- bundles/pom.xml | 2 +- core/pom.xml| 2 +- plugins/cdi/pom.xml | 2 +- plugins/codebehind/pom.xml | 2 +- plugins/config-browser/pom.xml | 2 +- plugins/convention/pom.xml | 2 +- plugins/dojo/pom.xml| 2 +- plugins/dwr/pom.xml | 2 +- plugins/embeddedjsp/pom.xml | 2 +- plugins/gxp/pom.xml | 2 +- plugins/jasperreports/pom.xml | 2 +- plugins/java8-support/pom.xml | 2 +- plugins/javatemplates/pom.xml | 2 +- plugins/jfreechart/pom.xml | 2 +- plugins/jsf/pom.xml | 2 +- plugins/json/pom.xml| 2 +- plugins/junit/pom.xml | 2 +- plugins/osgi/pom.xml| 2 +- plugins/oval/pom.xml| 2 +- plugins/pell-multipart/pom.xml | 2 +- plugins/plexus/pom.xml | 2 +- plugins/pom.xml | 2 +- plugins/portlet-tiles/pom.xml | 2 +- plugins/portlet/pom.xml | 2 +- plugins/rest/pom.xml| 2 +- plugins/sitegraph/pom.xml | 2 +- plugins/sitemesh/pom.xml| 2 +- plugins/spring/pom.xml | 2 +- plugins/struts1/pom.xml | 2 +- plugins/testng/pom.xml | 2 +- plugins/tiles/pom.xml | 2 +- plugins/tiles3/pom.xml | 2 +- pom.xml | 4 ++-- xwork-core/pom.xml | 2 +- 53 files changed, 57 insertions(+), 57 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/16eb7fa7/apps/blank/pom.xml -- diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml index e1cb846..9f0f0c9 100644 --- a/apps/blank/pom.xml +++ b/apps/blank/pom.xml @@ -26,7 +26,7 @@ org.apache.struts struts2-apps -2.3.33 +2.3.34-SNAPSHOT struts2-blank http://git-wip-us.apache.org/repos/asf/struts/blob/16eb7fa7/apps/jboss-blank/pom.xml -- diff --git a/apps/jboss-blank/pom.xml b/apps/jboss-blank/pom.xml index 36f6208..13dbdf1 100644 --- a/apps/jboss-blank/pom.xml +++ b/apps/jboss-blank/pom.xml @@ -26,7 +26,7 @@ org.apache.struts struts2-apps -2.3.33 +2.3.34-SNAPSHOT struts2-jboss-blank http://git-wip-us.apache.org/repos/asf/struts/blob/16eb7fa7/apps/mailreader/pom.xml -- diff --git a/apps/mailreader/pom.xml b/apps/mailreader/pom.xml index adcb064..08e6441 100644
[struts] Git Push Summary
Repository: struts Updated Tags: refs/tags/STRUTS_2_3_33 [created] 34255e2a3
struts git commit: [maven-release-plugin] prepare release STRUTS_2_3_33
Repository: struts Updated Branches: refs/heads/support-2-3 086b63735 -> 631ce98d1 [maven-release-plugin] prepare release STRUTS_2_3_33 Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/631ce98d Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/631ce98d Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/631ce98d Branch: refs/heads/support-2-3 Commit: 631ce98d171b1c7adb680b41a0303c61a81678fd Parents: 086b637 Author: Lukasz LenartAuthored: Fri Jul 7 14:47:12 2017 +0200 Committer: Lukasz Lenart Committed: Fri Jul 7 14:47:12 2017 +0200 -- apps/blank/pom.xml | 2 +- apps/jboss-blank/pom.xml| 2 +- apps/mailreader/pom.xml | 2 +- apps/pom.xml| 2 +- apps/portlet/pom.xml| 2 +- apps/rest-showcase/pom.xml | 4 ++-- apps/showcase/pom.xml | 2 +- archetypes/pom.xml | 2 +- archetypes/struts2-archetype-angularjs/pom.xml | 2 +- archetypes/struts2-archetype-blank/pom.xml | 2 +- archetypes/struts2-archetype-convention/pom.xml | 2 +- archetypes/struts2-archetype-dbportlet/pom.xml | 2 +- archetypes/struts2-archetype-plugin/pom.xml | 2 +- archetypes/struts2-archetype-portlet/pom.xml| 2 +- archetypes/struts2-archetype-starter/pom.xml| 2 +- assembly/pom.xml| 2 +- bom/pom.xml | 6 +++--- bundles/admin/pom.xml | 2 +- bundles/demo/pom.xml| 2 +- bundles/pom.xml | 2 +- core/pom.xml| 2 +- plugins/cdi/pom.xml | 2 +- plugins/codebehind/pom.xml | 2 +- plugins/config-browser/pom.xml | 2 +- plugins/convention/pom.xml | 2 +- plugins/dojo/pom.xml| 2 +- plugins/dwr/pom.xml | 2 +- plugins/embeddedjsp/pom.xml | 2 +- plugins/gxp/pom.xml | 2 +- plugins/jasperreports/pom.xml | 2 +- plugins/java8-support/pom.xml | 2 +- plugins/javatemplates/pom.xml | 2 +- plugins/jfreechart/pom.xml | 2 +- plugins/jsf/pom.xml | 2 +- plugins/json/pom.xml| 2 +- plugins/junit/pom.xml | 2 +- plugins/osgi/pom.xml| 2 +- plugins/oval/pom.xml| 2 +- plugins/pell-multipart/pom.xml | 2 +- plugins/plexus/pom.xml | 2 +- plugins/pom.xml | 2 +- plugins/portlet-tiles/pom.xml | 2 +- plugins/portlet/pom.xml | 2 +- plugins/rest/pom.xml| 2 +- plugins/sitegraph/pom.xml | 2 +- plugins/sitemesh/pom.xml| 2 +- plugins/spring/pom.xml | 2 +- plugins/struts1/pom.xml | 2 +- plugins/testng/pom.xml | 2 +- plugins/tiles/pom.xml | 2 +- plugins/tiles3/pom.xml | 2 +- pom.xml | 4 ++-- xwork-core/pom.xml | 2 +- 53 files changed, 57 insertions(+), 57 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/631ce98d/apps/blank/pom.xml -- diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml index b6c696b..e1cb846 100644 --- a/apps/blank/pom.xml +++ b/apps/blank/pom.xml @@ -26,7 +26,7 @@ org.apache.struts struts2-apps -2.3.33-SNAPSHOT +2.3.33 struts2-blank http://git-wip-us.apache.org/repos/asf/struts/blob/631ce98d/apps/jboss-blank/pom.xml -- diff --git a/apps/jboss-blank/pom.xml b/apps/jboss-blank/pom.xml index a04e1b5..36f6208 100644 --- a/apps/jboss-blank/pom.xml +++ b/apps/jboss-blank/pom.xml @@ -26,7 +26,7 @@ org.apache.struts struts2-apps -2.3.33-SNAPSHOT +2.3.33 struts2-jboss-blank http://git-wip-us.apache.org/repos/asf/struts/blob/631ce98d/apps/mailreader/pom.xml -- diff --git a/apps/mailreader/pom.xml b/apps/mailreader/pom.xml index 57b8704..adcb064 100644 ---
struts git commit: Adds constant to control proxy member access
Repository: struts Updated Branches: refs/heads/support-2-3 ae5630197 -> 086b63735 Adds constant to control proxy member access Project: http://git-wip-us.apache.org/repos/asf/struts/repo Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/086b6373 Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/086b6373 Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/086b6373 Branch: refs/heads/support-2-3 Commit: 086b63735527d4bb0c1dd0d86a7c0374b825ff24 Parents: ae56301 Author: Yasser ZamaniAuthored: Fri Jul 7 13:35:10 2017 +0430 Committer: Yasser Zamani Committed: Fri Jul 7 13:35:10 2017 +0430 -- .../spring/src/main/resources/struts-plugin.xml | 1 + .../com/opensymphony/xwork2/XWorkConstants.java | 1 + .../com/opensymphony/xwork2/ognl/OgnlUtil.java | 11 + .../xwork2/ognl/OgnlValueStack.java | 1 + .../xwork2/ognl/SecurityMemberAccess.java | 7 ++- .../ognl/SecurityMemberAccessProxyTest.java | 49 .../xwork2/spring/actionContext-xwork.xml | 1 + 7 files changed, 70 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/struts/blob/086b6373/plugins/spring/src/main/resources/struts-plugin.xml -- diff --git a/plugins/spring/src/main/resources/struts-plugin.xml b/plugins/spring/src/main/resources/struts-plugin.xml index 2e9b1b1..8f46858 100644 --- a/plugins/spring/src/main/resources/struts-plugin.xml +++ b/plugins/spring/src/main/resources/struts-plugin.xml @@ -34,6 +34,7 @@ + http://git-wip-us.apache.org/repos/asf/struts/blob/086b6373/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java -- diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java b/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java index bc532d0..b0c2748 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/XWorkConstants.java @@ -28,4 +28,5 @@ public final class XWorkConstants { public static final String OVERRIDE_EXCLUDED_PATTERNS = "overrideExcludedPatterns"; public static final String OVERRIDE_ACCEPTED_PATTERNS = "overrideAcceptedPatterns"; +public static final String XWORK_DISALLOW_PROXY_MEMBER_ACCESS = "xwork.disallowProxyMemberAccess"; } http://git-wip-us.apache.org/repos/asf/struts/blob/086b6373/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java -- diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java index 42132ba..e1cc46e 100644 --- a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java +++ b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlUtil.java @@ -72,6 +72,7 @@ public class OgnlUtil { private Container container; private boolean allowStaticMethodAccess; +private boolean disallowProxyMemberAccess; @Inject public void setXWorkConverter(XWorkConverter conv) { @@ -144,6 +145,15 @@ public class OgnlUtil { this.allowStaticMethodAccess = Boolean.parseBoolean(allowStaticMethodAccess); } +@Inject(value = XWorkConstants.XWORK_DISALLOW_PROXY_MEMBER_ACCESS, required = false) +public void setDisallowProxyMemberAccess(String disallowProxyMemberAccess) { +this.disallowProxyMemberAccess = Boolean.parseBoolean(disallowProxyMemberAccess); +} + +public boolean isDisallowProxyMemberAccess() { +return disallowProxyMemberAccess; +} + /** * Sets the object's properties using the default type converter, defaulting to not throw * exceptions for problems setting the properties. @@ -654,6 +664,7 @@ public class OgnlUtil { memberAccess.setExcludedClasses(excludedClasses); memberAccess.setExcludedPackageNamePatterns(excludedPackageNamePatterns); memberAccess.setExcludedPackageNames(excludedPackageNames); +memberAccess.setDisallowProxyMemberAccess(disallowProxyMemberAccess); return Ognl.createDefaultContext(root, resolver, defaultConverter, memberAccess); } http://git-wip-us.apache.org/repos/asf/struts/blob/086b6373/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java -- diff --git a/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java b/xwork-core/src/main/java/com/opensymphony/xwork2/ognl/OgnlValueStack.java index 3f44169..f6decf3 100644 ---
struts-examples git commit: Uses only JDK8 to build the examples
Repository: struts-examples Updated Branches: refs/heads/master 1cdf6f278 -> f92c934ac Uses only JDK8 to build the examples Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/f92c934a Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/f92c934a Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/f92c934a Branch: refs/heads/master Commit: f92c934ac5f92412da27804c1cf5e50a1ff14a8a Parents: 1cdf6f2 Author: Lukasz LenartAuthored: Fri Jul 7 08:59:43 2017 +0200 Committer: Lukasz Lenart Committed: Fri Jul 7 08:59:43 2017 +0200 -- .travis.yml | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/f92c934a/.travis.yml -- diff --git a/.travis.yml b/.travis.yml index b735fb7..ec24f4e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,6 @@ language: java sudo: false jdk: - - openjdk7 - oraclejdk8 install: true
struts-examples git commit: Adds an empty line ... and closes outdated PRs Closes #1 Closes #2 Closes #5 Closes #6 Closes #7 Closes #8
Repository: struts-examples Updated Branches: refs/heads/master 0fc2556af -> 1cdf6f278 Adds an empty line ... and closes outdated PRs Closes #1 Closes #2 Closes #5 Closes #6 Closes #7 Closes #8 Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/1cdf6f27 Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/1cdf6f27 Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/1cdf6f27 Branch: refs/heads/master Commit: 1cdf6f2781a4c1fa4cf4994dcb8a9cbfe11cf290 Parents: 0fc2556 Author: Lukasz LenartAuthored: Fri Jul 7 08:56:46 2017 +0200 Committer: Lukasz Lenart Committed: Fri Jul 7 08:56:46 2017 +0200 -- README.md | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/1cdf6f27/README.md -- diff --git a/README.md b/README.md index 2389505..0e88698 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Struts Examples This Maven multi-module project contains all the Struts 2 example applications that are part of the Getting Started Struts 2 tutorials at http://struts.apache.org. To build all the example applications run the Maven command: + ``` mvn -e clean package ```
struts-examples git commit: Adds info about builds
Repository: struts-examples Updated Branches: refs/heads/master 22c3eb32d -> 0fc2556af Adds info about builds Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/0fc2556a Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/0fc2556a Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/0fc2556a Branch: refs/heads/master Commit: 0fc2556afcbd313cb929ee28ed52c3cabd69342b Parents: 22c3eb3 Author: Lukasz LenartAuthored: Fri Jul 7 08:48:37 2017 +0200 Committer: Lukasz Lenart Committed: Fri Jul 7 08:48:37 2017 +0200 -- README.md | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/0fc2556a/README.md -- diff --git a/README.md b/README.md index abecaef..2389505 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,10 @@ -# Struts Examples +Struts Examples +--- + +[![Build Status @ Jenkins](https://builds.apache.org/buildStatus/icon?job=Struts-examples-JDK8-master)](https://builds.apache.org/view/S-Z/view/Struts/job/Struts-examples-JDK8-master/) +[![Build Status @ Travis](https://travis-ci.org/apache/struts-examples.svg?branch=master)](https://travis-ci.org/apache/struts-examples) +[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) + This Maven multi-module project contains all the Struts 2 example applications that are part of the Getting Started Struts 2 tutorials at http://struts.apache.org.
struts-examples git commit: Converts readme to MD
Repository: struts-examples Updated Branches: refs/heads/master f47c4694c -> 22c3eb32d Converts readme to MD Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/22c3eb32 Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/22c3eb32 Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/22c3eb32 Branch: refs/heads/master Commit: 22c3eb32dd292b1984773bd9883d60ec3f42644a Parents: f47c469 Author: Lukasz LenartAuthored: Fri Jul 7 08:46:34 2017 +0200 Committer: Lukasz Lenart Committed: Fri Jul 7 08:46:34 2017 +0200 -- README.md | 14 ++ ReadMe.txt | 14 -- 2 files changed, 14 insertions(+), 14 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/22c3eb32/README.md -- diff --git a/README.md b/README.md new file mode 100644 index 000..abecaef --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Struts Examples + +This Maven multi-module project contains all the Struts 2 example applications that are part of the Getting Started Struts 2 tutorials at http://struts.apache.org. + +To build all the example applications run the Maven command: +``` +mvn -e clean package +``` + +in the project's root folder. Maven will the build each module and create a .war file in the target sub-folder of each module. + +You can then copy the .war files to your Servlet container (e.g. Tomcat, Jetty, GlassFish, etc). + +There is a README file in each module with instructions and the URL to view that application. http://git-wip-us.apache.org/repos/asf/struts-examples/blob/22c3eb32/ReadMe.txt -- diff --git a/ReadMe.txt b/ReadMe.txt deleted file mode 100644 index f63a7b6..000 --- a/ReadMe.txt +++ /dev/null @@ -1,14 +0,0 @@ -This Maven multi-module project contains all the Struts 2 -example applications that are part of the Getting Started -Struts 2 tutorials at http://struts.apache.org. - -To build all the example applications run the Maven command: -mvn -e clean package in the project's root folder. Maven -will the build each module and create a .war file in the -target sub-folder of each module. - -You can then copy the .war files to your Servlet container -(e.g. Tomcat, Jetty, GlassFish, etc). - -There is a ReadMe.txt file in each module with instructions -and the URL to view that application.
struts-examples git commit: Fixes logging layer
Repository: struts-examples Updated Branches: refs/heads/master dece3f955 -> f47c4694c Fixes logging layer Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/f47c4694 Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/f47c4694 Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/f47c4694 Branch: refs/heads/master Commit: f47c4694c7f23e0cbe630b4e4600adf33eeecbd8 Parents: dece3f9 Author: Lukasz LenartAuthored: Fri Jul 7 08:20:47 2017 +0200 Committer: Lukasz Lenart Committed: Fri Jul 7 08:20:47 2017 +0200 -- crud/src/main/resources/log4j.dtd | 227 crud/src/main/resources/log4j.xml | 27 crud/src/main/resources/log4j2.xml | 16 +++ 3 files changed, 16 insertions(+), 254 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/f47c4694/crud/src/main/resources/log4j.dtd -- diff --git a/crud/src/main/resources/log4j.dtd b/crud/src/main/resources/log4j.dtd deleted file mode 100755 index 1aabd96..000 --- a/crud/src/main/resources/log4j.dtd +++ /dev/null @@ -1,227 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - -http://jakarta.apache.org/log4j/; - threshold(all|trace|debug|info|warn|error|fatal|off|null) "null" - debug(true|false|null) "null" - reset(true|false) "false" -> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -http://jakarta.apache.org/log4j/; - version(1.1|1.2) "1.2" - includesLocationInfo (true|false) "true" -> - - - - - - - - - - - - - - - - - - - - http://git-wip-us.apache.org/repos/asf/struts-examples/blob/f47c4694/crud/src/main/resources/log4j.xml -- diff --git a/crud/src/main/resources/log4j.xml b/crud/src/main/resources/log4j.xml deleted file mode 100755 index 6645aae..000 --- a/crud/src/main/resources/log4j.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - -http://jakarta.apache.org/log4j/;> - - - - - - - - - - - - - - - - - - - - - - - http://git-wip-us.apache.org/repos/asf/struts-examples/blob/f47c4694/crud/src/main/resources/log4j2.xml -- diff --git a/crud/src/main/resources/log4j2.xml b/crud/src/main/resources/log4j2.xml new file mode 100755 index 000..7c997ba --- /dev/null +++ b/crud/src/main/resources/log4j2.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file
[6/7] struts-examples git commit: Reorganizing package directories
Reorganizing package directories Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/ee5a3e3a Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/ee5a3e3a Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/ee5a3e3a Branch: refs/heads/master Commit: ee5a3e3abe8f6cb56714789958573a882e83aa7b Parents: a6ad31d Author: tkoffordAuthored: Thu Jul 6 10:31:57 2017 -0500 Committer: tkofford Committed: Thu Jul 6 10:31:57 2017 -0500 -- .../shiro/example/action/LoginAction.java | 116 +++ .../shiro/example/action/LogoutAction.java | 18 +++ .../shiro/example/action/ShiroBaseAction.java | 28 + .../shiro/example/action/WelcomeAction.java | 107 + .../interceptor/ShiroUserInterceptor.java | 57 + .../struts2shiro/action/LoginAction.java| 113 -- .../struts2shiro/action/LogoutAction.java | 18 --- .../struts2shiro/action/ShiroBaseAction.java| 28 - .../struts2shiro/action/WelcomeAction.java | 101 .../interceptor/ShiroUserInterceptor.java | 57 - 10 files changed, 326 insertions(+), 317 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/ee5a3e3a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java -- diff --git a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java new file mode 100644 index 000..88f7ba5 --- /dev/null +++ b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/action/LoginAction.java @@ -0,0 +1,116 @@ +package org.apache.struts2.shiro.example.action; + +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.authc.IncorrectCredentialsException; +import org.apache.shiro.authc.LockedAccountException; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.session.Session; +import org.apache.shiro.subject.Subject; +import com.opensymphony.xwork2.ActionSupport; +import com.opensymphony.xwork2.Preparable; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class LoginAction extends ActionSupport implements Preparable +{ + +private static final long serialVersionUID = 1L; +private static final transient Logger log = LogManager.getLogger(LoginAction.class); + +private String username; +private String password; +private transient Subject shiroUser; + +@Override +public void prepare() throws Exception +{ +shiroUser = SecurityUtils.getSubject(); +} + +@Override +public String execute() +{ +String result = INPUT; + +if (shiroUser != null) +{ +// Do some stuff with a Session +Session session = shiroUser.getSession(); +session.setAttribute("MyUsername", username); +log.info("Saving 'username' value to session [" + username + "]"); + +// let's login the current user so we can check against roles and permissions: +if (! shiroUser.isAuthenticated()) +{ +UsernamePasswordToken token = new UsernamePasswordToken(username, password); +token.setRememberMe(true); +try +{ +shiroUser.login(token); +result = SUCCESS; +} +catch (UnknownAccountException uae) +{ +addActionError("There is no user with username of '" + token.getPrincipal() + "'"); +log.error(uae.getMessage()); +} +catch (IncorrectCredentialsException ice) +{ +addActionError("Password for account '" + token.getPrincipal() + "' was incorrect!"); +log.error(ice.getMessage()); +} +catch (LockedAccountException lae) +{ +addActionError("The account for username '" + token.getPrincipal() + "' is locked. " + +"Please contact your administrator to unlock it."); +log.error(lae.getMessage()); +} +// ... catch more exceptions here (maybe custom ones specific to your application? +catch (AuthenticationException ae) +{ +
[3/7] struts-examples git commit: Adding project 'shiro-basic'
Adding project 'shiro-basic' Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/ade34f28 Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/ade34f28 Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/ade34f28 Branch: refs/heads/master Commit: ade34f2877316df689321db452deaae4e4320ccc Parents: 35a4fef Author: tkoffordAuthored: Thu Jul 6 08:21:37 2017 -0500 Committer: tkofford Committed: Thu Jul 6 08:21:37 2017 -0500 -- pom.xml | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/ade34f28/pom.xml -- diff --git a/pom.xml b/pom.xml index 16778d5..0a43b58 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,7 @@ preparable-interface restful2actionmapper rest-angular +shiro-basic spring-struts text-provider tiles
[1/7] struts-examples git commit: Initial commit
Repository: struts-examples Updated Branches: refs/heads/master 9f8e55972 -> dece3f955 Initial commit Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/876600a3 Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/876600a3 Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/876600a3 Branch: refs/heads/master Commit: 876600a345cd34f4a52634ebc8b1fe0769585eb3 Parents: d07e954 Author: tkoffordAuthored: Thu Jul 6 07:59:44 2017 -0500 Committer: tkofford Committed: Thu Jul 6 07:59:44 2017 -0500 -- shiro-basic/pom.xml | 79 + .../struts2shiro/action/LoginAction.java| 113 +++ .../struts2shiro/action/LogoutAction.java | 18 +++ .../struts2shiro/action/ShiroBaseAction.java| 34 ++ .../struts2shiro/action/WelcomeAction.java | 101 + .../interceptor/ShiroUserInterceptor.java | 64 +++ shiro-basic/src/main/resources/log4j2.xml | 25 shiro-basic/src/main/resources/shiro.ini| 25 shiro-basic/src/main/resources/struts.xml | 37 ++ shiro-basic/src/main/webapp/WEB-INF/web.xml | 27 + shiro-basic/src/main/webapp/css/main.css| 56 + shiro-basic/src/main/webapp/index.jsp | 1 + shiro-basic/src/main/webapp/pages/login.jsp | 27 + shiro-basic/src/main/webapp/pages/welcome.jsp | 39 +++ 14 files changed, 646 insertions(+) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/876600a3/shiro-basic/pom.xml -- diff --git a/shiro-basic/pom.xml b/shiro-basic/pom.xml new file mode 100644 index 000..3dfe907 --- /dev/null +++ b/shiro-basic/pom.xml @@ -0,0 +1,79 @@ +http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; +xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> +4.0.0 +struts2shiro +struts2shiro +1.0.0 +war + + +UTF-8 +1.3.2 +2.5.10.1 + + + + +org.apache.struts +struts2-core +${struts.version} + + + +org.apache.shiro +shiro-core +${shiro.version} + + +org.apache.shiro +shiro-web +${shiro.version} + + + +org.apache.logging.log4j +log4j-api +2.8.2 + + +org.apache.logging.log4j +log4j-core +2.8.2 + + + +javax.servlet +servlet-api +2.4 +provided + + +javax.servlet.jsp +jsp-api +2.1 +provided + + + + + + + +maven-compiler-plugin +3.1 + +1.8 +1.8 + + + +maven-war-plugin +2.4 + +false + + + +${project.artifactId} + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/876600a3/shiro-basic/src/main/java/example/struts2shiro/action/LoginAction.java -- diff --git a/shiro-basic/src/main/java/example/struts2shiro/action/LoginAction.java b/shiro-basic/src/main/java/example/struts2shiro/action/LoginAction.java new file mode 100644 index 000..fbfceb3 --- /dev/null +++ b/shiro-basic/src/main/java/example/struts2shiro/action/LoginAction.java @@ -0,0 +1,113 @@ +package example.struts2shiro.action; + +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.authc.AuthenticationException; +import org.apache.shiro.authc.IncorrectCredentialsException; +import org.apache.shiro.authc.LockedAccountException; +import org.apache.shiro.authc.UnknownAccountException; +import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.session.Session; +import org.apache.shiro.subject.Subject; +import com.opensymphony.xwork2.ActionSupport; +import com.opensymphony.xwork2.Preparable; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class LoginAction extends ActionSupport implements Preparable +{ + +private static final long serialVersionUID = 1L; +private static final transient Logger log = LogManager.getLogger(LoginAction.class); + +private String username; +
[2/7] struts-examples git commit: Cleaning up CR/LF and tabs
Cleaning up CR/LF and tabs Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/35a4fef0 Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/35a4fef0 Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/35a4fef0 Branch: refs/heads/master Commit: 35a4fef0e4eff60bb2b5c2ccde231fe52ad79610 Parents: 876600a Author: tkoffordAuthored: Thu Jul 6 08:03:22 2017 -0500 Committer: tkofford Committed: Thu Jul 6 08:03:22 2017 -0500 -- shiro-basic/src/main/webapp/pages/login.jsp | 20 ++-- shiro-basic/src/main/webapp/pages/welcome.jsp | 16 2 files changed, 18 insertions(+), 18 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/35a4fef0/shiro-basic/src/main/webapp/pages/login.jsp -- diff --git a/shiro-basic/src/main/webapp/pages/login.jsp b/shiro-basic/src/main/webapp/pages/login.jsp index 8d62758..a8941a1 100644 --- a/shiro-basic/src/main/webapp/pages/login.jsp +++ b/shiro-basic/src/main/webapp/pages/login.jsp @@ -5,8 +5,8 @@ <%@ taglib uri="/struts-tags" prefix="s"%> - - Login Page + +Login Page @@ -14,14 +14,14 @@ Welcome User, please login below - - - - - - - - + + + + + + + + \ No newline at end of file http://git-wip-us.apache.org/repos/asf/struts-examples/blob/35a4fef0/shiro-basic/src/main/webapp/pages/welcome.jsp -- diff --git a/shiro-basic/src/main/webapp/pages/welcome.jsp b/shiro-basic/src/main/webapp/pages/welcome.jsp index 813d3ab..600971d 100644 --- a/shiro-basic/src/main/webapp/pages/welcome.jsp +++ b/shiro-basic/src/main/webapp/pages/welcome.jsp @@ -5,9 +5,9 @@ http://www.w3.org/TR/html4/loose.dtd;> - - Welcome Page - + +Welcome Page + @@ -21,10 +21,10 @@ Permissions: - You may use a lightsaber ring. Use it wisely. - Sorry, lightsaber rings are for schwartz masters only. - You are permitted to 'drive' the winnebago with license plate (id) 'eagle5'.Here are the keys - have fun! - Sorry, you aren't allowed to drive the 'eagle5' winnebago! +You may use a lightsaber ring. Use it wisely. +Sorry, lightsaber rings are for schwartz masters only. +You are permitted to 'drive' the winnebago with license plate (id) 'eagle5'.Here are the keys - have fun! +Sorry, you aren't allowed to drive the 'eagle5' winnebago! @@ -33,7 +33,7 @@ - + \ No newline at end of file
[5/7] struts-examples git commit: Modifying package name to be consistent with other projects in the 'struts-examples' parent project
Modifying package name to be consistent with other projects in the 'struts-examples' parent project Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/a6ad31df Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/a6ad31df Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/a6ad31df Branch: refs/heads/master Commit: a6ad31df3956cc4b30eb8635b76cee9a54725fab Parents: d5420bb Author: tkoffordAuthored: Thu Jul 6 08:58:26 2017 -0500 Committer: tkofford Committed: Thu Jul 6 08:58:26 2017 -0500 -- .../struts2shiro/action/LoginAction.java| 113 --- .../struts2shiro/action/LogoutAction.java | 18 --- .../struts2shiro/action/ShiroBaseAction.java| 34 -- .../struts2shiro/action/WelcomeAction.java | 101 - .../interceptor/ShiroUserInterceptor.java | 64 --- .../struts2shiro/action/LoginAction.java| 113 +++ .../struts2shiro/action/LogoutAction.java | 18 +++ .../struts2shiro/action/ShiroBaseAction.java| 28 + .../struts2shiro/action/WelcomeAction.java | 101 + .../interceptor/ShiroUserInterceptor.java | 57 ++ shiro-basic/src/main/resources/struts.xml | 8 +- 11 files changed, 321 insertions(+), 334 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/example/struts2shiro/action/LoginAction.java -- diff --git a/shiro-basic/src/main/java/example/struts2shiro/action/LoginAction.java b/shiro-basic/src/main/java/example/struts2shiro/action/LoginAction.java deleted file mode 100644 index fbfceb3..000 --- a/shiro-basic/src/main/java/example/struts2shiro/action/LoginAction.java +++ /dev/null @@ -1,113 +0,0 @@ -package example.struts2shiro.action; - -import org.apache.shiro.SecurityUtils; -import org.apache.shiro.authc.AuthenticationException; -import org.apache.shiro.authc.IncorrectCredentialsException; -import org.apache.shiro.authc.LockedAccountException; -import org.apache.shiro.authc.UnknownAccountException; -import org.apache.shiro.authc.UsernamePasswordToken; -import org.apache.shiro.session.Session; -import org.apache.shiro.subject.Subject; -import com.opensymphony.xwork2.ActionSupport; -import com.opensymphony.xwork2.Preparable; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; - -public class LoginAction extends ActionSupport implements Preparable -{ - -private static final long serialVersionUID = 1L; -private static final transient Logger log = LogManager.getLogger(LoginAction.class); - -private String username; -private String password; -private Subject shiroUser; - -@Override -public void prepare() throws Exception -{ -shiroUser = SecurityUtils.getSubject(); -} - -@Override -public String execute() -{ -String result = INPUT; - -// Do some stuff with a Session -Session session = shiroUser.getSession(); -session.setAttribute("MyUsername", username); -log.info("Saving 'username' value to session [" + username + "]"); - -// let's login the current user so we can check against roles and permissions: -if (shiroUser != null && ! shiroUser.isAuthenticated()) -{ -UsernamePasswordToken token = new UsernamePasswordToken(username, password); -token.setRememberMe(true); -try -{ -shiroUser.login(token); -result = SUCCESS; -} -catch (UnknownAccountException uae) -{ -addActionError("There is no user with username of '" + token.getPrincipal() + "'"); -log.error(uae.getMessage()); -} -catch (IncorrectCredentialsException ice) -{ -addActionError("Password for account '" + token.getPrincipal() + "' was incorrect!"); -log.error(ice.getMessage()); -} -catch (LockedAccountException lae) -{ -addActionError("The account for username '" + token.getPrincipal() + "' is locked. " + -"Please contact your administrator to unlock it."); -log.error(lae.getMessage()); -} -// ... catch more exceptions here (maybe custom ones specific to your application? -catch (AuthenticationException ae) -{ -addActionError("An authentication exception has occurred trying to login user: " +
[7/7] struts-examples git commit: Merge branch 'shiro'
Merge branch 'shiro' Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/dece3f95 Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/dece3f95 Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/dece3f95 Branch: refs/heads/master Commit: dece3f9550686539de50157a3b79a7ea8aa1f57f Parents: 9f8e559 ee5a3e3 Author: Lukasz LenartAuthored: Fri Jul 7 08:13:01 2017 +0200 Committer: Lukasz Lenart Committed: Fri Jul 7 08:13:01 2017 +0200 -- pom.xml | 1 + shiro-basic/pom.xml | 67 +++ .../shiro/example/action/LoginAction.java | 116 +++ .../shiro/example/action/LogoutAction.java | 18 +++ .../shiro/example/action/ShiroBaseAction.java | 28 + .../shiro/example/action/WelcomeAction.java | 107 + .../interceptor/ShiroUserInterceptor.java | 57 + shiro-basic/src/main/resources/log4j2.xml | 25 shiro-basic/src/main/resources/shiro.ini| 25 shiro-basic/src/main/resources/struts.xml | 37 ++ shiro-basic/src/main/webapp/WEB-INF/web.xml | 27 + shiro-basic/src/main/webapp/css/main.css| 56 + shiro-basic/src/main/webapp/index.jsp | 1 + shiro-basic/src/main/webapp/pages/login.jsp | 27 + shiro-basic/src/main/webapp/pages/welcome.jsp | 39 +++ 15 files changed, 631 insertions(+) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/dece3f95/pom.xml --
[4/7] struts-examples git commit: Modifications for integrating with 'struts-examples' parent pom.xml file
Modifications for integrating with 'struts-examples' parent pom.xml file Project: http://git-wip-us.apache.org/repos/asf/struts-examples/repo Commit: http://git-wip-us.apache.org/repos/asf/struts-examples/commit/d5420bb2 Tree: http://git-wip-us.apache.org/repos/asf/struts-examples/tree/d5420bb2 Diff: http://git-wip-us.apache.org/repos/asf/struts-examples/diff/d5420bb2 Branch: refs/heads/master Commit: d5420bb2e729d6fa33a119dbbb7cd19d1c7b8e1b Parents: ade34f2 Author: tkoffordAuthored: Thu Jul 6 08:36:58 2017 -0500 Committer: tkofford Committed: Thu Jul 6 08:36:58 2017 -0500 -- shiro-basic/pom.xml | 40 ++-- 1 file changed, 14 insertions(+), 26 deletions(-) -- http://git-wip-us.apache.org/repos/asf/struts-examples/blob/d5420bb2/shiro-basic/pom.xml -- diff --git a/shiro-basic/pom.xml b/shiro-basic/pom.xml index 3dfe907..3b716d1 100644 --- a/shiro-basic/pom.xml +++ b/shiro-basic/pom.xml @@ -1,22 +1,27 @@ http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> 4.0.0 -struts2shiro -struts2shiro -1.0.0 -war + +org.apache.struts +struts-examples +1.0.0 + + +shiro-basic + +Struts2 with Basic Shiro Security Integration +war + -UTF-8 1.3.2 -2.5.10.1 org.apache.struts struts2-core -${struts.version} +${struts2.version} @@ -33,12 +38,12 @@ org.apache.logging.log4j log4j-api -2.8.2 +${log4j2.version} org.apache.logging.log4j log4j-core -2.8.2 +${log4j2.version} @@ -57,23 +62,6 @@ - - -maven-compiler-plugin -3.1 - -1.8 -1.8 - - - -maven-war-plugin -2.4 - -false - - - ${project.artifactId} \ No newline at end of file