Advertisement
Guest User

Untitled

a guest
Mar 15th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.85 KB | None | 0 0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  6. version="3.1">
  7. <session-config>
  8. <session-timeout>
  9. 30
  10. </session-timeout>
  11. </session-config>
  12.  
  13. <filter>
  14. <filter-name>struts2</filter-name>
  15. <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  16.  
  17. </filter>
  18. <filter-mapping>
  19. <filter-name>struts2</filter-name>
  20. <url-pattern>/*</url-pattern>
  21. </filter-mapping>
  22.  
  23. <welcome-file-list>
  24. <welcome-file>index.jsp</welcome-file>
  25. </welcome-file-list>
  26. </web-app>
  27.  
  28. <!DOCTYPE struts PUBLIC
  29. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  30. "http://struts.apache.org/dtds/struts-2.0.dtd">
  31.  
  32. <struts>
  33. <!-- Configuration for the default package. -->
  34. <package name="default" extends="hibernate-default">
  35. <Interceptors>
  36. <Interceptor name="LoginInterceptor" class="com.riteshsangwan.ossoc.interceptors.LoginInterceptor" />
  37. </Interceptors>
  38.  
  39. <action name="login" class="com.riteshsangwan.ossoc.action.LoginAction">
  40. <result name="success" type="chain">wolcomeaction</result>
  41. <result name="imput">/index.jsp</result>
  42. <result name="error">/index.jsp</result>
  43. </action>
  44.  
  45. <action name="welcomeaction">
  46. <interceptor-ref name="LoginInterceptor"></interceptor-ref>
  47. <interceptor-ref name="defaultStack"></interceptor-ref>
  48. <result name="login">/index.jsp</result>
  49. <result name="success" >/home.jsp</result>
  50.  
  51. </action>
  52. </package>
  53. </struts>
  54.  
  55. package com.riteshsangwan.ossoc.interceptors;
  56.  
  57. import com.opensymphony.xwork2.ActionInvocation;
  58. import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
  59. import com.opensymphony.xwork2.Action;
  60. import java.util.Map;
  61.  
  62. public class LoginInterceptor extends AbstractInterceptor{
  63.  
  64. @Override
  65. public String intercept(ActionInvocation ai) throws Exception {
  66. Map<String, Object> session= ai.getInvocationContext().getSession();
  67. if(session.get("userObject")==null)
  68. {
  69. return Action.LOGIN;
  70. }
  71. else
  72. {
  73. return Action.SUCCESS;
  74. }
  75.  
  76. }
  77.  
  78. }
  79.  
  80. package com.riteshsangwan.ossoc.action;
  81. import com.opensymphony.xwork2.ActionSupport;
  82. import com.riteshsangwan.ossoc.entities.Users;
  83. import org.apache.commons.lang.StringUtils;
  84. import com.riteshsangwan.ossoc.business.UsersDAOImpl;
  85. import java.util.Map;
  86. import javax.servlet.http.HttpSession;
  87. import org.apache.struts2.interceptor.SessionAware;
  88.  
  89. public class LoginAction extends ActionSupport implements SessionAware{
  90. private String email;
  91. private String password;
  92. private Users user;
  93. private Map<String, Object> userSession;
  94.  
  95. public String getEmail() {
  96. return email;
  97. }
  98.  
  99. public void setEmail(String email) {
  100. this.email = email;
  101. }
  102.  
  103. public String getPassword() {
  104. return password;
  105. }
  106.  
  107. public void setPassword(String password) {
  108. this.password = password;
  109. }
  110.  
  111. public String execute(){
  112. if(verify())
  113. {
  114. return ActionSupport.SUCCESS;
  115. }
  116.  
  117. else
  118. {
  119. return ActionSupport.LOGIN;
  120. }
  121.  
  122. }
  123.  
  124. @Override
  125. public void validate(){
  126. if(StringUtils.isEmpty(getEmail()) || StringUtils.isEmpty(getPassword()))
  127. {
  128. addFieldError("Error","oops! something went wrong try again");
  129. }
  130. }
  131.  
  132. private boolean verify(){
  133. String email=getEmail();
  134. String password=getPassword();
  135. UsersDAOImpl udl=new UsersDAOImpl();
  136. user = udl.LoginVerify(email, password);
  137. if(user!=null)
  138. {
  139. userSession.put("userObject", user);
  140. userSession.put("userName", user.getFname()+" "+user.getLname());
  141. userSession.put("email", user.getEmail());
  142. userSession.put("userId", user.getUid());
  143. return true;
  144. }
  145. else
  146. {
  147. return false;
  148. }
  149. }
  150.  
  151. @Override
  152. public void setSession(Map<String, Object> map) {
  153. userSession=map;
  154. }
  155.  
  156.  
  157. }
  158.  
  159. <%@page contentType="text/html" pageEncoding="UTF-8"%>
  160. <%@ taglib prefix="s" uri="/struts-tags" %>
  161. <!DOCTYPE html>
  162. <html>
  163. <head>
  164. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  165. <title>Login</title>
  166. </head>
  167. <body>
  168. <s:form action="login" method="POST">
  169. <fieldset>
  170. <s:label>Email:</s:label>
  171. <s:textfield name="email"></s:textfield>
  172. <s:label>Password:</s:label>
  173. <s:password name="password"></s:password>
  174. <s:submit name="loginsubmit"></s:submit>
  175. </fieldset>
  176. </s:form>
  177. </body>
  178. </html>
  179.  
  180. <?xml version="1.0" encoding="UTF-8"?>
  181. <project xmlns="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">
  182. <modelVersion>4.0.0</modelVersion>
  183.  
  184. <groupId>com.riteshsangwan</groupId>
  185. <artifactId>ossoc</artifactId>
  186. <version>1.0-SNAPSHOT</version>
  187. <packaging>war</packaging>
  188.  
  189. <name>ossoc</name>
  190.  
  191. <properties>
  192. <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
  193. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  194. </properties>
  195.  
  196. <dependencies>
  197. <dependency>
  198. <groupId>javax</groupId>
  199. <artifactId>javaee-web-api</artifactId>
  200. <version>7.0</version>
  201. <type>jar</type>
  202. </dependency>
  203.  
  204. <dependency>
  205. <groupId>junit</groupId>
  206. <artifactId>junit</artifactId>
  207. <version>4.5</version>
  208. <scope>test</scope>
  209. </dependency>
  210.  
  211. <dependency>
  212. <groupId>org.hibernate</groupId>
  213. <artifactId>hibernate-core</artifactId>
  214. <version>4.2.8.Final</version>
  215. </dependency>
  216.  
  217. <dependency>
  218. <groupId>org.hibernate</groupId>
  219. <artifactId>hibernate-entitymanager</artifactId>
  220. <version>4.2.8.Final</version>
  221. </dependency>
  222.  
  223. <dependency>
  224. <groupId>org.hibernate.javax.persistence</groupId>
  225. <artifactId>hibernate-jpa-2.0-api</artifactId>
  226. <version>1.0.1.Final</version>
  227. </dependency>
  228.  
  229. <dependency>
  230. <groupId>org.hibernate.common</groupId>
  231. <artifactId>hibernate-commons-annotations</artifactId>
  232. <version>4.0.4.Final</version>
  233. </dependency>
  234.  
  235. <dependency>
  236. <groupId>org.hibernate</groupId>
  237. <artifactId>hibernate-testing</artifactId>
  238. <version>4.2.8.Final</version>
  239. </dependency>
  240.  
  241. <dependency>
  242. <groupId>com.jgeppert.struts2.jquery</groupId>
  243. <artifactId>struts2-jquery-plugin</artifactId>
  244. <version>3.6.1</version>
  245. </dependency>
  246.  
  247. <dependency>
  248. <groupId>log4j</groupId>
  249. <artifactId>log4j</artifactId>
  250. <version>1.2.17</version>
  251. </dependency>
  252.  
  253. <dependency>
  254. <groupId>org.apache.struts</groupId>
  255. <artifactId>struts2-core</artifactId>
  256. <version>2.3.15.3</version>
  257. </dependency>
  258.  
  259. <dependency>
  260. <groupId>org.apache.struts</groupId>
  261. <artifactId>struts2-spring-plugin</artifactId>
  262. <version>2.3.15.3</version>
  263. </dependency>
  264.  
  265. <dependency>
  266. <groupId>org.apache.struts</groupId>
  267. <artifactId>struts2-junit-plugin</artifactId>
  268. <version>2.3.15.3</version>
  269. </dependency>
  270.  
  271. <dependency>
  272. <groupId>com.opensymphony</groupId>
  273. <artifactId>xwork-core</artifactId>
  274. <version>2.1.6</version>
  275. <type>jar</type>
  276. </dependency>
  277.  
  278. <dependency>
  279. <groupId>mysql</groupId>
  280. <artifactId>mysql-connector-java</artifactId>
  281. <version>5.1.27</version>
  282. </dependency>
  283.  
  284.  
  285.  
  286. <dependency>
  287. <groupId>org.apache.struts.xwork</groupId>
  288. <artifactId>xwork-core</artifactId>
  289. <version>2.3.15.3</version>
  290. </dependency>
  291.  
  292. </dependencies>
  293.  
  294. <build>
  295. <plugins>
  296. <plugin>
  297. <groupId>org.apache.maven.plugins</groupId>
  298. <artifactId>maven-compiler-plugin</artifactId>
  299. <version>3.1</version>
  300. <configuration>
  301. <source>1.7</source>
  302. <target>1.7</target>
  303. <compilerArguments>
  304. <endorseddirs>${endorsed.dir}</endorseddirs>
  305. </compilerArguments>
  306. </configuration>
  307. </plugin>
  308. <plugin>
  309. <groupId>org.apache.maven.plugins</groupId>
  310. <artifactId>maven-war-plugin</artifactId>
  311. <version>2.3</version>
  312. <configuration>
  313. <failOnMissingWebXml>false</failOnMissingWebXml>
  314. </configuration>
  315. </plugin>
  316. <plugin>
  317. <groupId>org.apache.maven.plugins</groupId>
  318. <artifactId>maven-dependency-plugin</artifactId>
  319. <version>2.6</version>
  320. <executions>
  321. <execution>
  322. <phase>validate</phase>
  323. <goals>
  324. <goal>copy</goal>
  325. </goals>
  326. <configuration>
  327. <outputDirectory>${endorsed.dir}</outputDirectory>
  328. <silent>true</silent>
  329. <artifactItems>
  330. <artifactItem>
  331. <groupId>javax</groupId>
  332. <artifactId>javaee-endorsed-api</artifactId>
  333. <version>7.0</version>
  334. <type>jar</type>
  335. </artifactItem>
  336. </artifactItems>
  337. </configuration>
  338. </execution>
  339. </executions>
  340. </plugin>
  341. </plugins>
  342. </build>
  343.  
  344. </project>
  345.  
  346. <filter>
  347. <filter-name>struts2</filter-name>
  348. <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
  349. </filter>
  350. <filter-mapping>
  351. <filter-name>struts2</filter-name>
  352. <url-pattern>/*</url-pattern>
  353. </filter-mapping>
  354.  
  355. <interceptors>
  356. <interceptor name="nlogin" class="interceptors.LoginInterceptor"/>
  357. <interceptor-stack name="loginStack">
  358. <interceptor-ref name="nlogin"/>
  359. <interceptor-ref name="store">
  360. <param name="operationMode">AUTOMATIC</param>
  361. </interceptor-ref>
  362. <interceptor-ref name="defaultStack"/>
  363. </interceptor-stack>
  364. </interceptors>
  365.  
  366. <default-interceptor-ref name="loginStack"/>
  367.  
  368. @Override
  369. public String intercept(ActionInvocation ai) throws Exception {
  370. try {
  371. if (ai.getInvocationContext().getSession().get("admin") == null) {
  372. Object action = ai.getAction();
  373. if (action instanceof ValidationAware) {
  374. ((ValidationAware) action).addActionError("Unauthorized access. Please Login first");
  375. }
  376. return "login";
  377. }
  378. return ai.invoke();
  379. } catch (Exception e) {
  380. e.printStackTrace();
  381. }
  382. return ai.invoke();
  383. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement