Advertisement
Guest User

Code

a guest
Mar 7th, 2017
685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.36 KB | None | 0 0
  1. service------------------------------------------------------------------------------------------------------------------------------
  2. package br.com.fusionconsultoria.services;
  3.  
  4. import java.math.BigInteger;
  5. import java.security.SecureRandom;
  6. import java.util.Random;
  7.  
  8. import javax.ws.rs.Consumes;
  9. import javax.ws.rs.FormParam;
  10. import javax.ws.rs.POST;
  11. import javax.ws.rs.Path;
  12. import javax.ws.rs.Produces;
  13. import javax.ws.rs.core.MediaType;
  14. import javax.ws.rs.core.Response;
  15.  
  16. import br.com.fusionconsultoria.daos.DAOZFIT005;
  17.  
  18. @Path("/Authentication")
  19. public class SERVICEZFIT000 {
  20. /*
  21. * @POST
  22. *
  23. * @Produces("application/json")
  24. *
  25. * @Consumes("application/json") public Response
  26. * authenticateUser(BEANCredential credentials) {
  27. *
  28. * String username = credentials.getUsername(); String password =
  29. * credentials.getPassword();
  30. */
  31. @POST
  32. @Produces(MediaType.APPLICATION_JSON)
  33. @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
  34. public Response authenticateUser(@FormParam("username") String username, @FormParam("password") String password) {
  35. try {
  36. // Authenticate the user using the credentials provided
  37. boolean login = authenticate(username, password);
  38. if (login == true) {
  39. // Issue a token for the user
  40. String token = issueToken(username);
  41. // Save the token in DB
  42. DAOZFIT005 fiveDAO = new DAOZFIT005();
  43. boolean update = fiveDAO.updateZITOKEN(username, token);
  44. if (update == true) {
  45. // Return the token on the response
  46. return Response.ok(token).build();
  47. } else {
  48. return Response.status(Response.Status.UNAUTHORIZED).build();
  49. }
  50. } else {
  51. return Response.status(Response.Status.UNAUTHORIZED).build();
  52. }
  53. } catch (Exception e) {
  54. return Response.status(Response.Status.UNAUTHORIZED).build();
  55. }
  56. }
  57.  
  58. private boolean authenticate(String username, String password) throws Exception {
  59. DAOZFIT005 fiveDAO = new DAOZFIT005();
  60. boolean login = fiveDAO.login(username, password);
  61. return login;
  62. }
  63.  
  64. private String issueToken(String username) {
  65. Random random = new SecureRandom();
  66. String token = new BigInteger(130, random).toString(32);
  67. return token;
  68. }
  69. }
  70. bean---------------------------------------------------------------------------------------------------------------------------------
  71. package br.com.fusionconsultoria.beans;
  72.  
  73. import java.io.Serializable;
  74.  
  75. public class BEANCredential implements Serializable {
  76. private static final long serialVersionUID = 1L;
  77.  
  78. private String username;
  79. private String password;
  80. private String token;
  81.  
  82. public String getToken() {
  83. return token;
  84. }
  85.  
  86. public void setToken(String token) {
  87. this.token = token;
  88. }
  89.  
  90. public String getUsername() {
  91. return username;
  92. }
  93.  
  94. public void setUsername(String username) {
  95. this.username = username;
  96. }
  97.  
  98. public String getPassword() {
  99. return password;
  100. }
  101.  
  102. public void setPassword(String password) {
  103. this.password = password;
  104. }
  105. }
  106. pom.xml------------------------------------------------------------------------------------------------------------------------------
  107. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  108. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  109. <modelVersion>4.0.0</modelVersion>
  110. <groupId>InBettaWS</groupId>
  111. <artifactId>InBettaWS</artifactId>
  112. <version>0.0.1-SNAPSHOT</version>
  113. <packaging>war</packaging>
  114. <build>
  115. <sourceDirectory>src</sourceDirectory>
  116. <plugins>
  117. <plugin>
  118. <artifactId>maven-compiler-plugin</artifactId>
  119. <version>3.5.1</version>
  120. <configuration>
  121. <source>1.8</source>
  122. <target>1.8</target>
  123. </configuration>
  124. </plugin>
  125. <plugin>
  126. <artifactId>maven-war-plugin</artifactId>
  127. <version>3.0.0</version>
  128. <configuration>
  129. <warSourceDirectory>WebContent</warSourceDirectory>
  130. </configuration>
  131. </plugin>
  132. </plugins>
  133. </build>
  134. <dependencies>
  135. <dependency>
  136. <groupId>org.codehaus.jackson</groupId>
  137. <artifactId>jackson-core-asl</artifactId>
  138. <version>1.9.2</version>
  139. </dependency>
  140. <dependency>
  141. <groupId>org.codehaus.jackson</groupId>
  142. <artifactId>jackson-core-asl</artifactId>
  143. <version>1.9.13</version>
  144. </dependency>
  145. <dependency>
  146. <groupId>org.glassfish.hk2.external</groupId>
  147. <artifactId>aopalliance-repackaged</artifactId>
  148. <version>2.5.0-b35</version>
  149. </dependency>
  150. <dependency>
  151. <groupId>org.ow2.asm</groupId>
  152. <artifactId>asm-debug-all</artifactId>
  153. <version>6.0_ALPHA</version>
  154. </dependency>
  155. <dependency>
  156. <groupId>com.owlike</groupId>
  157. <artifactId>genson</artifactId>
  158. <version>1.4</version>
  159. </dependency>
  160. <dependency>
  161. <groupId>org.glassfish.hk2</groupId>
  162. <artifactId>hk2-api</artifactId>
  163. <version>2.5.0-b35</version>
  164. </dependency>
  165. <dependency>
  166. <groupId>org.glassfish.hk2</groupId>
  167. <artifactId>hk2-locator</artifactId>
  168. <version>2.5.0-b35</version>
  169. </dependency>
  170. <dependency>
  171. <groupId>org.glassfish.hk2</groupId>
  172. <artifactId>hk2-utils</artifactId>
  173. <version>2.5.0-b35</version>
  174. </dependency>
  175. <dependency>
  176. <groupId>org.codehaus.jackson</groupId>
  177. <artifactId>jackson-mapper-asl</artifactId>
  178. <version>1.9.13</version>
  179. </dependency>
  180. <dependency>
  181. <groupId>org.javassist</groupId>
  182. <artifactId>javassist</artifactId>
  183. <version>3.22.0-CR1</version>
  184. </dependency>
  185. <dependency>
  186. <groupId>javax.annotation</groupId>
  187. <artifactId>javax.annotation-api</artifactId>
  188. <version>1.3</version>
  189. </dependency>
  190. <dependency>
  191. <groupId>org.glassfish.hk2.external</groupId>
  192. <artifactId>javax.inject</artifactId>
  193. <version>2.5.0-b35</version>
  194. </dependency>
  195. <dependency>
  196. <groupId>javax.servlet</groupId>
  197. <artifactId>javax.servlet-api</artifactId>
  198. <version>4.0.0-b03</version>
  199. </dependency>
  200. <dependency>
  201. <groupId>javax.ws.rs</groupId>
  202. <artifactId>javax.ws.rs-api</artifactId>
  203. <version>2.1-m05</version>
  204. </dependency>
  205. <dependency>
  206. <groupId>javax.xml.bind</groupId>
  207. <artifactId>jaxb-api</artifactId>
  208. <version>2.3.0-b170201.1204</version>
  209. </dependency>
  210. <dependency>
  211. <groupId>org.glassfish.jersey.core</groupId>
  212. <artifactId>jersey-client</artifactId>
  213. <version>2.26-b02</version>
  214. </dependency>
  215. <dependency>
  216. <groupId>org.glassfish.jersey.core</groupId>
  217. <artifactId>jersey-common</artifactId>
  218. <version>2.26-b02</version>
  219. </dependency>
  220. <dependency>
  221. <groupId>org.glassfish.jersey.containers</groupId>
  222. <artifactId>jersey-container-servlet-core</artifactId>
  223. <version>2.26-b02</version>
  224. </dependency>
  225. <dependency>
  226. <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
  227. <artifactId>jersey-guava</artifactId>
  228. <version>2.26-b02</version>
  229. </dependency>
  230. <dependency>
  231. <groupId>org.glassfish.jersey.media</groupId>
  232. <artifactId>jersey-media-jaxb</artifactId>
  233. <version>2.26-b02</version>
  234. </dependency>
  235. <dependency>
  236. <groupId>org.glassfish.jersey.core</groupId>
  237. <artifactId>jersey-server</artifactId>
  238. <version>2.26-b02</version>
  239. </dependency>
  240. <dependency>
  241. <groupId>org.glassfish.jersey.media</groupId>
  242. <artifactId>jersey-media-json-jackson</artifactId>
  243. <version>2.17</version>
  244. </dependency>
  245.  
  246. <dependency>
  247. <groupId>org.osgi</groupId>
  248. <artifactId>org.osgi.core</artifactId>
  249. <version>6.0.0</version>
  250. </dependency>
  251. <dependency>
  252. <groupId>org.glassfish.hk2</groupId>
  253. <artifactId>osgi-resource-locator</artifactId>
  254. <version>2.5.0-b35</version>
  255. </dependency>
  256. <dependency>
  257. <groupId>javax.persistence</groupId>
  258. <artifactId>persistence-api</artifactId>
  259. <version>1.0.2</version>
  260. </dependency>
  261. <dependency>
  262. <groupId>javax.validation</groupId>
  263. <artifactId>validation-api</artifactId>
  264. <version>2.0.0.Alpha1</version>
  265. </dependency>
  266. </dependencies>
  267. </project>
  268. web.xml------------------------------------------------------------------------------------------------------------------------------
  269. <?xml version="1.0" encoding="UTF-8"?>
  270. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  271. xmlns="http://java.sun.com/xml/ns/javaee"
  272. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  273. id="WebApp_ID" version="3.0">
  274. <welcome-file-list>
  275. <welcome-file>index.html</welcome-file>
  276. <welcome-file>index.htm</welcome-file>
  277. <welcome-file>index.jsp</welcome-file>
  278. <welcome-file>default.html</welcome-file>
  279. <welcome-file>default.htm</welcome-file>
  280. <welcome-file>default.jsp</welcome-file>
  281. </welcome-file-list>
  282. <servlet>
  283. <servlet-name>InBettaWS</servlet-name>
  284. <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
  285. <init-param>
  286. <param-name>jersey.config.server.provider.packages</param-name>
  287. <param-value>br.com.fusionconsultoria.filters, br.com.fusionconsultoria.daos, br.com.fusionconsultoria.services, br.com.fusionconsultoria.beans, br.com.fusionconsultoria.annotations, com.jersey.jaxb, com.fasterxml.jackson.jaxrs.json</param-value>
  288. </init-param>
  289. <init-param>
  290. <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
  291. <param-value>true</param-value>
  292. </init-param>
  293. <load-on-startup>1</load-on-startup>
  294. </servlet>
  295. <servlet-mapping>
  296. <servlet-name>InBettaWS</servlet-name>
  297. <url-pattern>/*</url-pattern>
  298. </servlet-mapping>
  299. </web-app>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement