KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > dinamica > security > RequestWrapper


1 package dinamica.security;
2
3 import javax.servlet.http.*;
4 import java.security.*;
5
6 /**
7  * Wraps the original http request to provide
8  * the same J2EE security APIs under Dinamica
9  * security model.
10  * <br><br>
11  * (c) 2004 Martin Cordova<br>
12  * This code is released under the LGPL license<br>
13  * Dinamica Framework - http://www.martincordova.com
14  * @author Martin Cordova (dinamica@martincordova.com)
15  *
16  */

17
18 public class RequestWrapper extends HttpServletRequestWrapper
19 {
20
21     private Principal user = null;
22
23     public RequestWrapper(HttpServletRequest request)
24     {
25         super(request);
26     }
27
28     public Principal getUserPrincipal()
29     {
30         return user;
31     }
32
33     public void setUserPrincipal(Principal user)
34     {
35         this.user = user;
36     }
37
38     public boolean isUserInRole(String JavaDoc roleName)
39     {
40         
41         boolean flag = false;
42
43         DinamicaUser u = (DinamicaUser) user;
44         String JavaDoc roles[] = u.getRoles();
45
46         if (roles!=null)
47         {
48             for (int i = 0; i < roles.length; i++)
49             {
50                 if (roleName.equals(roles[i]))
51                 {
52                     flag = true;
53                     break;
54                 }
55             }
56         }
57
58         return flag;
59
60     }
61
62     /* (non-Javadoc)
63      * @see javax.servlet.http.HttpServletRequest#getRemoteUser()
64      */

65     public String JavaDoc getRemoteUser()
66     {
67         if (user!=null)
68             return user.getName();
69         else
70             return super.getRemoteUser();
71     }
72
73 }
74
Popular Tags