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: tkofford <tkoff...@home.ku.edu>
Authored: Thu Jul 6 08:58:26 2017 -0500
Committer: tkofford <tkoff...@home.ku.edu>
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..0000000
--- 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: " + token.getPrincipal());
-                log.error(ae.getMessage());
-            }        
-        }
-        else if (shiroUser.isAuthenticated())
-        {
-            result = SUCCESS;
-        }
-        
-        return result;
-    }
-    
-    public Subject getShiroUser() 
-    {
-        return shiroUser;
-    }
-
-    public void setShiroUser(Subject shiroUser) 
-    {
-        this.shiroUser = shiroUser;
-    }
-
-    public String getUsername() 
-    {
-        return username;
-    }
-
-    public void setUsername(String username) 
-    {
-        this.username = username;
-    }
-
-    public String getPassword() 
-    {
-        return password;
-    }
-
-    public void setPassword(String password) 
-    {
-        this.password = password;
-    }    
-    
-}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/example/struts2shiro/action/LogoutAction.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/example/struts2shiro/action/LogoutAction.java 
b/shiro-basic/src/main/java/example/struts2shiro/action/LogoutAction.java
deleted file mode 100644
index 731447b..0000000
--- a/shiro-basic/src/main/java/example/struts2shiro/action/LogoutAction.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package example.struts2shiro.action;
-
-public class LogoutAction extends ShiroBaseAction
-{
-    private static final long serialVersionUID = 1L;
-
-    @Override
-    public String execute()
-    {
-        if (isAuthenticated())
-        {
-            getShiroUser().logout(); // isAuthenticated = true -> 
getShiroUser() != null
-        }
-        
-        return SUCCESS;
-    }
-    
-}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/example/struts2shiro/action/ShiroBaseAction.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/example/struts2shiro/action/ShiroBaseAction.java 
b/shiro-basic/src/main/java/example/struts2shiro/action/ShiroBaseAction.java
deleted file mode 100644
index 49c60ca..0000000
--- a/shiro-basic/src/main/java/example/struts2shiro/action/ShiroBaseAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * 
- */
-package example.struts2shiro.action;
-
-import org.apache.shiro.subject.Subject;
-
-import com.opensymphony.xwork2.ActionSupport;
-
-/**
- * @author tkofford
- *
- */
-public class ShiroBaseAction extends ActionSupport
-{
-    private static final long serialVersionUID = 1L;
-    
-    private Subject shiroUser;
-
-    public boolean isAuthenticated() 
-    {
-        return shiroUser != null && shiroUser.isAuthenticated();
-    }
-
-    public Subject getShiroUser() 
-    {
-        return shiroUser;
-    }
-
-    public void setShiroUser(Subject shiroUser) 
-    {
-        this.shiroUser = shiroUser;
-    }
-}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/example/struts2shiro/action/WelcomeAction.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/example/struts2shiro/action/WelcomeAction.java 
b/shiro-basic/src/main/java/example/struts2shiro/action/WelcomeAction.java
deleted file mode 100644
index 2906c4b..0000000
--- a/shiro-basic/src/main/java/example/struts2shiro/action/WelcomeAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package example.struts2shiro.action;
-
-import org.apache.shiro.session.Session;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-
-public class WelcomeAction extends ShiroBaseAction
-{
-    private static final long serialVersionUID = 1L;
-    private static final Logger log = 
LogManager.getLogger(WelcomeAction.class);
-
-    private String username;
-    
-    @Override
-    public String execute()
-    {
-        String result = ERROR;
-        
-        if (isAuthenticated())
-        {
-            // Retrieve value from session
-            Session session = getShiroUser().getSession();
-            String value = (String) session.getAttribute("MyUsername");
-            if (value.equals(username)) {
-                log.info("Retrieved the correct 'username' value [" + value + 
"] from session");
-            }
-        
-            printRoles();
-            printPermissions();
-            result = SUCCESS;
-        }
-        
-        return result;
-    }
-    
-    public void printRoles()
-    {
-        if (getShiroUser().hasRole("admin"))
-        {
-            log.info("User '" + username + "' has role of 'admin'");
-        }
-        else
-        {
-            log.info("User '" + username + "' is missing role 'admin'");
-        }
-        if (getShiroUser().hasRole("schwartz"))
-        {
-            log.info("User '" + username + "' has role of 'schwartz'");
-        }
-        else
-        {
-            log.info("User '" + username + "' is missing role 'schwartz'");
-        }
-        if (getShiroUser().hasRole("goodguy"))
-        {
-            log.info("User '" + username + "' has role of 'goodguy'");
-        }
-        else
-        {
-            log.info("User '" + username + "' is missing role 'goodguy'");
-        }
-    }
-
-    public void printPermissions()
-    {
-        if (getShiroUser().isPermitted("lightsaber"))
-        {
-            log.info("User '" + username + "' has 'lightsaber' permission");
-        }
-        else
-        {
-            log.info("User '" + username + "' is missing permission 
'lightsaber'");
-        }
-        if (getShiroUser().isPermitted("winnebago"))
-        {
-            log.info("User '" + username + "' has 'winnebago' permission");
-        }
-        else
-        {
-            log.info("User '" + username + "' is missing permission 
'winnebago'");
-        }
-        if (getShiroUser().isPermitted("winnebago:drive:eagle5"))
-        {
-            log.info("User '" + username + "' has 'winnebago:drive:eagle5' 
permission");
-        }
-        else
-        {
-            log.info("User '" + username + "' is missing permission 
'winnebago:drive:eagle5'");
-        }
-    }
-    public String getUsername() 
-    {
-        return username;
-    }
-
-    public void setUsername(String username) 
-    {
-        this.username = username;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/example/struts2shiro/interceptor/ShiroUserInterceptor.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/example/struts2shiro/interceptor/ShiroUserInterceptor.java
 
b/shiro-basic/src/main/java/example/struts2shiro/interceptor/ShiroUserInterceptor.java
deleted file mode 100644
index cbfe19b..0000000
--- 
a/shiro-basic/src/main/java/example/struts2shiro/interceptor/ShiroUserInterceptor.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * 
- */
-package example.struts2shiro.interceptor;
-
-import org.apache.shiro.SecurityUtils;
-import org.apache.shiro.subject.Subject;
-
-import com.opensymphony.xwork2.ActionInvocation;
-import com.opensymphony.xwork2.interceptor.Interceptor;
-
-/**
- * @author tkofford
- *
- */
-
-/**
- * Inserts the current Shiro user into the value stack so that it can be
- * injected into Struts 2 actions should they have a JavaBeans setter
- * <code>setShiroUser(org.apache.shiro.subject.Subject shiroUser)</code>.
- *
- * @version $Revision: $ $Date: $
- */
-public class ShiroUserInterceptor implements Interceptor {
-
-    /**
-     * 
-     */
-    private static final long serialVersionUID = 1L;
-
-    /* (non-Javadoc)
-     * @see com.opensymphony.xwork2.interceptor.Interceptor#destroy()
-     */
-    @Override
-    public void destroy() 
-    {
-        //release resources here
-    }
-
-    /* (non-Javadoc)
-     * @see com.opensymphony.xwork2.interceptor.Interceptor#init()
-     */
-    @Override
-    public void init() 
-    {
-        // create resources here
-    }
-
-    /* (non-Javadoc)
-     * @see 
com.opensymphony.xwork2.interceptor.Interceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
-     */
-    @Override
-    public String intercept(ActionInvocation actionInvocation) throws 
Exception 
-    {
-        if (actionInvocation.getAction() instanceof 
example.struts2shiro.action.ShiroBaseAction)
-        {
-            Subject shiroUser = SecurityUtils.getSubject();
-            actionInvocation.getStack().setValue("shiroUser", shiroUser);
-        }
-            
-        return actionInvocation.invoke();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/LoginAction.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/LoginAction.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/LoginAction.java
new file mode 100644
index 0000000..ebaf866
--- /dev/null
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/LoginAction.java
@@ -0,0 +1,113 @@
+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 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: " + token.getPrincipal());
+                log.error(ae.getMessage());
+            }        
+        }
+        else if (shiroUser.isAuthenticated())
+        {
+            result = SUCCESS;
+        }
+        
+        return result;
+    }
+    
+    public Subject getShiroUser() 
+    {
+        return shiroUser;
+    }
+
+    public void setShiroUser(Subject shiroUser) 
+    {
+        this.shiroUser = shiroUser;
+    }
+
+    public String getUsername() 
+    {
+        return username;
+    }
+
+    public void setUsername(String username) 
+    {
+        this.username = username;
+    }
+
+    public String getPassword() 
+    {
+        return password;
+    }
+
+    public void setPassword(String password) 
+    {
+        this.password = password;
+    }    
+    
+}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/LogoutAction.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/LogoutAction.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/LogoutAction.java
new file mode 100644
index 0000000..defab7d
--- /dev/null
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/LogoutAction.java
@@ -0,0 +1,18 @@
+package org.apache.struts2.shiro.example.action;
+
+public class LogoutAction extends ShiroBaseAction
+{
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public String execute()
+    {
+        if (isAuthenticated())
+        {
+            getShiroUser().logout(); // isAuthenticated = true -> 
getShiroUser() != null
+        }
+        
+        return SUCCESS;
+    }
+    
+}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/ShiroBaseAction.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/ShiroBaseAction.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/ShiroBaseAction.java
new file mode 100644
index 0000000..b5702fa
--- /dev/null
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/ShiroBaseAction.java
@@ -0,0 +1,28 @@
+package org.apache.struts2.shiro.example.action;
+
+import org.apache.shiro.subject.Subject;
+
+import com.opensymphony.xwork2.ActionSupport;
+
+
+public class ShiroBaseAction extends ActionSupport
+{
+    private static final long serialVersionUID = 1L;
+    
+    private Subject shiroUser;
+
+    public boolean isAuthenticated() 
+    {
+        return shiroUser != null && shiroUser.isAuthenticated();
+    }
+
+    public Subject getShiroUser() 
+    {
+        return shiroUser;
+    }
+
+    public void setShiroUser(Subject shiroUser) 
+    {
+        this.shiroUser = shiroUser;
+    }
+}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/WelcomeAction.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/WelcomeAction.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/WelcomeAction.java
new file mode 100644
index 0000000..797df1d
--- /dev/null
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/action/WelcomeAction.java
@@ -0,0 +1,101 @@
+package org.apache.struts2.shiro.example.action;
+
+import org.apache.shiro.session.Session;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+public class WelcomeAction extends ShiroBaseAction
+{
+    private static final long serialVersionUID = 1L;
+    private static final Logger log = 
LogManager.getLogger(WelcomeAction.class);
+
+    private String username;
+    
+    @Override
+    public String execute()
+    {
+        String result = ERROR;
+        
+        if (isAuthenticated())
+        {
+            // Retrieve value from session
+            Session session = getShiroUser().getSession();
+            String value = (String) session.getAttribute("MyUsername");
+            if (value.equals(username)) {
+                log.info("Retrieved the correct 'username' value [" + value + 
"] from session");
+            }
+        
+            printRoles();
+            printPermissions();
+            result = SUCCESS;
+        }
+        
+        return result;
+    }
+    
+    public void printRoles()
+    {
+        if (getShiroUser().hasRole("admin"))
+        {
+            log.info("User '" + username + "' has role of 'admin'");
+        }
+        else
+        {
+            log.info("User '" + username + "' is missing role 'admin'");
+        }
+        if (getShiroUser().hasRole("schwartz"))
+        {
+            log.info("User '" + username + "' has role of 'schwartz'");
+        }
+        else
+        {
+            log.info("User '" + username + "' is missing role 'schwartz'");
+        }
+        if (getShiroUser().hasRole("goodguy"))
+        {
+            log.info("User '" + username + "' has role of 'goodguy'");
+        }
+        else
+        {
+            log.info("User '" + username + "' is missing role 'goodguy'");
+        }
+    }
+
+    public void printPermissions()
+    {
+        if (getShiroUser().isPermitted("lightsaber"))
+        {
+            log.info("User '" + username + "' has 'lightsaber' permission");
+        }
+        else
+        {
+            log.info("User '" + username + "' is missing permission 
'lightsaber'");
+        }
+        if (getShiroUser().isPermitted("winnebago"))
+        {
+            log.info("User '" + username + "' has 'winnebago' permission");
+        }
+        else
+        {
+            log.info("User '" + username + "' is missing permission 
'winnebago'");
+        }
+        if (getShiroUser().isPermitted("winnebago:drive:eagle5"))
+        {
+            log.info("User '" + username + "' has 'winnebago:drive:eagle5' 
permission");
+        }
+        else
+        {
+            log.info("User '" + username + "' is missing permission 
'winnebago:drive:eagle5'");
+        }
+    }
+    public String getUsername() 
+    {
+        return username;
+    }
+
+    public void setUsername(String username) 
+    {
+        this.username = username;
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/interceptor/ShiroUserInterceptor.java
----------------------------------------------------------------------
diff --git 
a/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/interceptor/ShiroUserInterceptor.java
 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/interceptor/ShiroUserInterceptor.java
new file mode 100644
index 0000000..794422c
--- /dev/null
+++ 
b/shiro-basic/src/main/java/org/apache/struts2/shiro/example/struts2shiro/interceptor/ShiroUserInterceptor.java
@@ -0,0 +1,57 @@
+/**
+ * 
+ */
+package org.apache.struts2.shiro.example.interceptor;
+
+import org.apache.shiro.SecurityUtils;
+import org.apache.shiro.subject.Subject;
+
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.interceptor.Interceptor;
+
+/**
+ * Inserts the current Shiro user into the value stack so that it can be
+ * injected into Struts 2 actions should they have a JavaBeans setter
+ * <code>setShiroUser(org.apache.shiro.subject.Subject shiroUser)</code>.
+ */
+public class ShiroUserInterceptor implements Interceptor {
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    /* (non-Javadoc)
+     * @see com.opensymphony.xwork2.interceptor.Interceptor#destroy()
+     */
+    @Override
+    public void destroy() 
+    {
+        //release resources here
+    }
+
+    /* (non-Javadoc)
+     * @see com.opensymphony.xwork2.interceptor.Interceptor#init()
+     */
+    @Override
+    public void init() 
+    {
+        // create resources here
+    }
+
+    /* (non-Javadoc)
+     * @see 
com.opensymphony.xwork2.interceptor.Interceptor#intercept(com.opensymphony.xwork2.ActionInvocation)
+     */
+    @Override
+    public String intercept(ActionInvocation actionInvocation) throws 
Exception 
+    {
+        if (actionInvocation.getAction() instanceof 
org.apache.struts2.shiro.example.action.ShiroBaseAction)
+        {
+            Subject shiroUser = SecurityUtils.getSubject();
+            actionInvocation.getStack().setValue("shiroUser", shiroUser);
+        }
+            
+        return actionInvocation.invoke();
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/struts-examples/blob/a6ad31df/shiro-basic/src/main/resources/struts.xml
----------------------------------------------------------------------
diff --git a/shiro-basic/src/main/resources/struts.xml 
b/shiro-basic/src/main/resources/struts.xml
index c22a7e6..0fe7a9f 100644
--- a/shiro-basic/src/main/resources/struts.xml
+++ b/shiro-basic/src/main/resources/struts.xml
@@ -6,7 +6,7 @@
 <struts>
     <package name="default" namespace="/" extends="struts-default">
         <interceptors>
-            <interceptor name="shiroUser" 
class="example.struts2shiro.interceptor.ShiroUserInterceptor"/>
+            <interceptor name="shiroUser" 
class="org.apache.struts2.shiro.example.interceptor.ShiroUserInterceptor"/>
             <interceptor-stack name="shiro-default">
                 <interceptor-ref name="shiroUser"/>
                 <interceptor-ref name="params"/> <!-- Run the params 
interceptor before the default stack. This allows us to access param values in 
our prepare() methods. -->
@@ -18,17 +18,17 @@
         <action name="login">
             <result>pages/login.jsp</result>
         </action>
-        <action name="welcome" 
class="example.struts2shiro.action.WelcomeAction">
+        <action name="welcome" 
class="org.apache.struts2.shiro.example.action.WelcomeAction">
             <result>pages/welcome.jsp</result>
         </action>
-        <action name="authuser" 
class="example.struts2shiro.action.LoginAction">
+        <action name="authuser" 
class="org.apache.struts2.shiro.example.action.LoginAction">
             <result name="success" type="redirectAction">
                 <param name="actionName">welcome</param>
                 <param name="username">${username}</param>
             </result>
             <result name="input">pages/login.jsp</result>
         </action>
-        <action name="logout" class="example.struts2shiro.action.LogoutAction">
+        <action name="logout" 
class="org.apache.struts2.shiro.example.action.LogoutAction">
             <result name="success">pages/login.jsp</result>
         </action>
 

Reply via email to