Spring Security Token Based Authentication | Code Factory


Donate : Link

Medium Blog : Link

Applications : Link



Download and Code and Jars : Link

File : index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<center>
		<form action="sendData" method="post">
			<table>
				<tr>
					<td>Username :</td>
					<td><input type="text" name="username"></td>
				</tr>
				<tr>
					<td>Username :</td>
					<td><input type="password" name="password"></td>
				</tr>
				<tr>
					<!-- TOCKEN -->
					<%-- <td><input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" /></td> --%>
					<td><input type="submit" value="Submit"></td>
				</tr>
			</table>
		</form>
	</center>
</body>
</html>

File : welcome.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>welcome</title>
</head>
<body>
	<h1>Welcome</h1>
</body>
</html>

File : 403.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<h1>403</h1>
</body>
</html>

File : Action.java

package com.codeFactory.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class Action {

	@RequestMapping("sendData")
	public ModelAndView sendData(@RequestParam("username") String username,

	@RequestParam("password") String password) {
		return new ModelAndView("welcome");
	}

	@RequestMapping("403")
	public ModelAndView sendData(Exception e) {
		return new ModelAndView("403");
	}
}

File : SpringSecurity.java

package com.codeFactory.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class Action {

	@RequestMapping("sendData")
	public ModelAndView sendData(@RequestParam("username") String username,

	@RequestParam("password") String password) {
		return new ModelAndView("welcome");
	}

	@RequestMapping("403")
	public ModelAndView sendData(Exception e) {
		return new ModelAndView("403");
	}
}

File : web.xml

<?xml version="1.0" encoding="UTF-8"?>

    <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" 
             id="WebApp_ID" version="3.1">
        <display-name>SpringSecurityTokenCheck</display-name>
        <servlet>
            <servlet-name>spring</servlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>spring</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
        <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/spring-security.xml
            </param-value>
        </context-param>
        <filter>
            <filter-name>springSecurityFilterChain</filter-name>
            <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        </filter>
        <filter-mapping>
            <filter-name>springSecurityFilterChain</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    </web-app>

File : spring-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:context="http://www.springframework.org/schema/context" 
	xmlns:tx="http://www.springframework.org/schema/tx" 
	xmlns:mvc="http://www.springframework.org/schema/mvc" 
	xmlns:p="http://www.springframework.org/schema/p" 
	xsi:schemaLocation="http://www.springframework.org/schema/mvc 
		http: //www.springframework.org/schema/mvc/spring-mvc.xsd
		http: //www.springframework.org/schema/beans 
		http: //www.springframework.org/schema/beans/spring-beans.xsd
		http: //www.springframework.org/schema/context 
		http: //www.springframework.org/schema/context/spring-context.xsd
		http: //www.springframework.org/schema/tx
		http: //www.springframework.org/schema/tx/spring-tx.xsd">

	<context:component-scan base-package="com.codeFactory.controller"></context:component-scan> 

	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
		<property name="prefix" value="/" /> 
		<property name="suffix" value=".jsp" /> 
	</bean> 
	
	<mvc:annotation-driven> </mvc:annotation-driven> 

</beans>

File : spring-security.xml

<?xml version="1.0" encoding="UTF-8"?>

    <beans:beans xmlns="http://www.springframework.org/schema/security" 
                 xmlns:beans="http://www.springframework.org/schema/beans" 
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                 xmlns:p="http://www.springframework.org/schema/p" 
                 xsi:schemaLocation="http://www.springframework.org/schema/beans
 					http://www.springframework.org/schema/beans/spring-beans.xsd
 					http://www.springframework.org/schema/security
 					http://www.springframework.org/schema/security/spring-security.xsd">

        <http pattern="/securityNone" security="none" />

        <http use-expressions="true">
            <access-denied-handler error-page="/403" />
            <intercept-url pattern="/**" />
            <http-basic />
            <csrf />
        </http>

        <authentication-manager>
            <authentication-provider>
                <user-service>
                    <user name="user1" password="user1Pass" authorities="ROLE_USER" />
                </user-service>
            </authentication-provider>
        </authentication-manager>
      
    </beans:beans>

Screenshorts :

Index page :

Welcome page :

403 page :

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s