Guest User

Untitled

a guest
Mar 17th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.53 KB | None | 0 0
  1. HttpServletRequest#isUserInRole
  2.  
  3. @WebServlet("/Debug")
  4. public class DebugServlet extends HttpServlet
  5. {
  6.  
  7. /**
  8. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  9. */
  10. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  11. throws ServletException, IOException
  12. {
  13. // TODO Auto-generated method stub
  14. Gson gson = new Gson();
  15. response.getWriter().append(gson.toJson(request.getUserPrincipal()));
  16. response.getWriter().append(" ");
  17. response.getWriter().append(gson.toJson(request.isUserInRole("sysAdmin")));
  18. response.getWriter().append(" ");
  19. response.getWriter().append(gson.toJson(request.isUserInRole("role1")));
  20. response.getWriter().append(" ");
  21. response.getWriter().append(gson.toJson(request.isUserInRole("role2")));
  22. }
  23. }
  24.  
  25. @WebServlet("/Debug2")
  26. @RolesAllowed({"sysAdmin"})
  27. @DeclareRoles({"sysAdmin", "role1", "role2"})
  28. public class Debug2 extends ServletBase
  29. {
  30. /**
  31. * Default constructor.
  32. */
  33. public Debug2()
  34. {
  35. // TODO Auto-generated constructor stub
  36. }
  37.  
  38. /**
  39. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  40. */
  41. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  42. throws ServletException, IOException
  43. {
  44. request.setAttribute("isRole1", request.isUserInRole("role1"));
  45. request.setAttribute("isRole2", request.isUserInRole("role2"));
  46. request.setAttribute("isSysAdmin", request.isUserInRole("sysAdmin"));
  47.  
  48. request.getRequestDispatcher("/WEB-INF/debug/index.jsp").forward(request, response);
  49. }
  50. }
  51.  
  52. @WebServlet("/Debug2")
  53. @RolesAllowed({"sysAdmin"})
  54. @DeclareRoles({"sysAdmin", "role1", "role2"})
  55. public class Debug2 extends ServletBase
  56. {
  57. /**
  58. * Default constructor.
  59. */
  60. public Debug2()
  61. {
  62. // TODO Auto-generated constructor stub
  63. }
  64.  
  65. /**
  66. * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  67. */
  68. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  69. throws ServletException, IOException
  70. {
  71. request.setAttribute("isRole1", request.isUserInRole("role1"));
  72. request.setAttribute("isRole2", request.isUserInRole("role2"));
  73. request.setAttribute("isSysAdmin", request.isUserInRole("sysAdmin"));
  74.  
  75. request.getRequestDispatcher("/WEB-INF/debug/index.jsp").forward(request, response);
  76. }
  77. }
  78.  
  79. <body>
  80. <table>
  81. <tr>
  82. <td>Role 1</td>
  83. <td><c:choose>
  84. <c:when test="${request.isUserInRole('role1') == true }">Yes</c:when>
  85. <c:otherwise>No</c:otherwise>
  86. </c:choose></td>
  87. <td><c:choose>
  88. <c:when test="${isRole1== true }">Yes</c:when>
  89. <c:otherwise>No</c:otherwise>
  90. </c:choose></td>
  91. <td>${request.isUserInRole('role1') }</td>
  92. <td>${isRole1 }</td>
  93. </tr>
  94. <tr>
  95. <td>Role 2</td>
  96. <td><c:choose>
  97. <c:when
  98. test="${request.isUserInRole('role2')== true }">Yes</c:when>
  99. <c:otherwise>No</c:otherwise>
  100. </c:choose></td>
  101. <td><c:choose>
  102. <c:when test="${isRole2 == true}">Yes</c:when>
  103. <c:otherwise>No</c:otherwise>
  104. </c:choose></td>
  105. <td>${request.isUserInRole('role2') }</td>
  106. <td>${isRole2 }</td>
  107. </tr>
  108. <tr>
  109. <td>System Administrator</td>
  110. <td><c:choose>
  111. <c:when test="${request.isUserInRole('sysAdmin')== true }">Yes</c:when>
  112. <c:otherwise>No</c:otherwise>
  113. </c:choose></td>
  114. <td><c:choose>
  115. <c:when test="${isSysAdmin == true}">Yes</c:when>
  116. <c:otherwise>No</c:otherwise>
  117. </c:choose></td>
  118. <td>${request.isUserInRole('sysAdmin') }</td>
  119. <td>${isSysAdmin }</td>
  120. </tr>
  121. </table>
  122. </body>
  123.  
  124. <glassfish-web-app>
  125. <context-root>/slam-web</context-root>
  126. <security-role-mapping>
  127. <role-name>role2</role-name> <!-- GlassFish Name -->
  128. <group-name>Role 2</group-name> <!-- DB Name -->
  129. </security-role-mapping>
  130. <security-role-mapping>
  131. <role-name>role1</role-name> <!-- GlassFish Name -->
  132. <group-name>Role 1</group-name> <!-- DB Name -->
  133. </security-role-mapping>
  134. <security-role-mapping>
  135. <role-name>sysAdmin</role-name> <!-- GlassFish Name -->
  136. <group-name>System Administrator</group-name> <!-- DB Name -->
  137. </security-role-mapping>
  138. </glassfish-web-app>
  139.  
  140. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" metadata-complete="false" version="3.1">
  141. <display-name>app-web</display-name>
  142. <welcome-file-list>
  143. <welcome-file>Debug</welcome-file>
  144. </welcome-file-list>
  145. <login-config>
  146. <auth-method>FORM</auth-method>
  147. <realm-name>app-secure</realm-name>
  148. <form-login-config>
  149. <form-login-page>/Login</form-login-page>
  150. <form-error-page>/401.jsp</form-error-page>
  151. </form-login-config>
  152. </login-config>
  153. <security-role>
  154. <role-name>role1</role-name>
  155. </security-role>
  156. <security-role>
  157. <role-name>role2</role-name>
  158. </security-role>
  159. <security-role>
  160. <role-name>sysAdmin</role-name>
  161. </security-role>
  162. <security-constraint>
  163. <display-name>Everyone</display-name>
  164. <web-resource-collection>
  165. <web-resource-name>resources</web-resource-name>
  166. <description></description>
  167. <url-pattern>/</url-pattern>
  168. </web-resource-collection>
  169. <auth-constraint>
  170. <role-name>role1</role-name>
  171. <role-name>role2</role-name>
  172. <role-name>sysAdmin</role-name>
  173. </auth-constraint>
  174. <user-data-constraint>
  175. <transport-guarantee>NONE</transport-guarantee>
  176. </user-data-constraint>
  177. </security-constraint>
  178. <security-constraint>
  179. <display-name>Allow JS and CSS</display-name>
  180. <web-resource-collection>
  181. <web-resource-name>resources</web-resource-name>
  182. <description></description>
  183. <url-pattern>/Debug</url-pattern>
  184. <url-pattern>/Logout</url-pattern>
  185. <url-pattern>/Login</url-pattern>
  186. <url-pattern>*.js</url-pattern>
  187. <url-pattern>*.css</url-pattern>
  188. <url-pattern>*.png</url-pattern>
  189. </web-resource-collection>
  190. </security-constraint>
  191. <error-page>
  192. <error-code>403</error-code>
  193. <location>/WEB-INF/public/403.jsp</location>
  194. </error-page>
  195. </web-app>
Add Comment
Please, Sign In to add comment