From this blog, typescript feature will be added. There are couple of ways to implement static type checking like; flow from facebook, PropTypes and Typescript. Typescript is well integrated with Visual Studio Code and supports better linter, error messages, and intellisense. Reference site Github Sample Ex4 Currnet version D:\GitRepo\reactnative>npm --version 6.3.0 D:\GitRepo\reactnative>react-native --version react-native-cli: 2.0.1 react-native: n/a - not inside a React Native project directory D:\GitRepo\reactnative>yarn --version 1.9.4 Creating React Native App $ react-native init ex4 If you want to specify the version, add "--version 0.57.3" at the end. Add NativeBase to React Native $ npm install native-base --save ... + native-base@2.8.1 added 71 packages from 42 contributors, removed 50 packages, updated 829 packages and audited 34989 packages in 138.542s found 0 vulnerabilities $ $ yarn yarn install v1.9.4 warning package-lock.json found. You...
Get link
Facebook
X
Pinterest
Email
Other Apps
Sample application for Active Directory SSO with Spring Security 4 and Waffle
Get link
Facebook
X
Pinterest
Email
Other Apps
Introduction
I've developed quotation
program with Mybatis, Spring MVC, and SQL Server, but I had a request of
integrating this module with Spring Security and Active Directory. I've
researched about possible solutions and I've spent quite bit of time with
Waffle and SAML. SAML is more ideal, but I found out that the entire
implementation is too complicated and I decided to use Waffle for this purpose.
One of drawback of Waffle is that the Tomcat server must be runned from Windows
platform.
I tried to find out
spring security example with Waffle, but it is hard to find out the sample from
Internet. It took so many hours to create this simple example.
Tools
Spring STS: 3.6.4
Spring Security : 4.0.1
Spring framework: 4.x.x
Waffle: 1.7.4
Implementation
Creating Spring MVC Project
Create New Project
-> Spring Project -> Spring MVC
Updating POM
To make easy of managing
version, added two versions under "properties"
Adding security
namespace. Please careful this namespace. If you use the namespace provided
from the Waffle site, there will be a complaining about using wrong namespace
version.
Adding sample Waffle-auth code into this file which provided from the Waffle
web site. Please note that there is some modification about access usage and
please refer the Spring Security Manual. <sec:httpauto-config="true">
One of example from the
Waffle used the "AllowGuestLogin" from the property and this will
cause another error. The property function maps the field name in the class and
the first letter must be lower case as you see from the example.
You are logged in as
remote user DomainName\alex.joh in session89E052662368DCB7502F15A65D9F20EE.
Your user principal name
is DomainName\alex.joh.
To check whether your
username has been granted a particular role, enter it here:
Top of Form
Bottom of Form
You can logoff by
clicking here.
This should cause automatic re-logon with Waffle and a new session ID.
Debug Result
Jun 08, 2015 10:08:26 AM
org.apache.catalina.startup.Catalina load
INFO: Initialization
processed in 552 ms
INFO :
org.springframework.web.context.ContextLoader - Root WebApplicationContext:
initialization started
INFO :
org.springframework.web.context.support.XmlWebApplicationContext - Refreshing
Root WebApplicationContext: startup date [Mon Jun 08 10:08:28 MDT 2015]; root
of context hierarchy
INFO :
org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML
bean definitions from ServletContext resource
[/WEB-INF/spring/root-context.xml]
INFO :
org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML
bean definitions from ServletContext resource [/WEB-INF/waffle-auth.xml]
INFO :
org.springframework.web.context.ContextLoader - Root WebApplicationContext:
initialization completed in 871 ms
INFO :
waffle.servlet.NegotiateSecurityFilter -
[waffle.servlet.NegotiateSecurityFilter] started
INFO :
org.springframework.web.servlet.DispatcherServlet - FrameworkServlet
'appServlet': initialization started
INFO :
org.springframework.web.context.support.XmlWebApplicationContext - Refreshing
WebApplicationContext for namespace 'appServlet-servlet': startup date [Mon Jun
08 10:08:28 MDT 2015]; parent: Root WebApplicationContext
INFO :
org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML
bean definitions from ServletContext resource
[/WEB-INF/spring/appServlet/servlet-context.xml]
INFO :
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
- JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
INFO :
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping
- Mapped
"{[/],methods=[GET],params=[],headers=[],consumes=[],produces=[],custom=[]}"
onto public java.lang.String
com.alexjoh.waffle.HomeController.home(java.util.Locale,org.springframework.ui.Model)
INFO :
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
- Looking for @ControllerAdvice: WebApplicationContext for namespace 'appServlet-servlet':
startup date [Mon Jun 08 10:08:28 MDT 2015]; parent: Root WebApplicationContext
INFO :
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter
- Looking for @ControllerAdvice: WebApplicationContext for namespace
'appServlet-servlet': startup date [Mon Jun 08 10:08:28 MDT 2015]; parent: Root
WebApplicationContext
INFO :
waffle.servlet.NegotiateSecurityFilter - successfully logged in user:
FLAIR\alex.joh
INFO :
com.alexjoh.waffle.HomeController - Welcome home! The client locale is en_US.
Summary
It is not easy to come
to this point and I almost spent 2 weeks to run this simple example under
Spring Security. I wish this article could save someone's time who is
struggling to use Waffle from the Spring framework.
Hey Alex.. Thanks a lot for this working sample !!! I had gone crazy searching for something like this !!! Glad I landed here.. worked like a charm !! Thanks again !! Mukta
Thanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support about this area. hire angularjs developer
From this blog, typescript feature will be added. There are couple of ways to implement static type checking like; flow from facebook, PropTypes and Typescript. Typescript is well integrated with Visual Studio Code and supports better linter, error messages, and intellisense. Reference site Github Sample Ex4 Currnet version D:\GitRepo\reactnative>npm --version 6.3.0 D:\GitRepo\reactnative>react-native --version react-native-cli: 2.0.1 react-native: n/a - not inside a React Native project directory D:\GitRepo\reactnative>yarn --version 1.9.4 Creating React Native App $ react-native init ex4 If you want to specify the version, add "--version 0.57.3" at the end. Add NativeBase to React Native $ npm install native-base --save ... + native-base@2.8.1 added 71 packages from 42 contributors, removed 50 packages, updated 829 packages and audited 34989 packages in 138.542s found 0 vulnerabilities $ $ yarn yarn install v1.9.4 warning package-lock.json found. You...
ReplacingTextUsingITextSharp title: Replacing text in PDF file using iTextSharp tags: - PDF - Replace Text - iTextSharp date: Nov 11, 2016 Overview I’ve trying to replace text in PDF file and this is most simple way to replace text in PDF files. Before approaching this, I’ve tried to replace text using command toolkit with pdftk, qpdf to decrypt, and sfk181 to replace string with new, but this approach faced couple of issues; 1. font, 2. text area size. After long investigation, this may be easy way to replace text. Put white colored rectangle on top of string and stamp text on the location like erase text using whitner and write on top of it. Tools Visual Studio 2013 C# iTextSharp Code using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser; using iTextSharp.text; using System.IO; namespace EMTechnicalDieline { class Program ...
Concept of Git Git has two repositories; local and remote. Two different commands type to commit the changes; 1. commit/add: load/save changes to the local repository. 2. push/pull/clone: load/save changes from/to remote repository. How to setup remote git server , bitbucket , with Visual Studio Code To use git, I downloaded it from [git-scm](“ https://git-scm.com/downloads “) and installed with bash mode to keep the comparability for different platform. Set up remote repository * Create project from bitbucket. In this case, I created “blogmarkdown”. Remember the URL for the git repository. To find out the repository, just add “.git” at the end of the URL from bitbucket. For me, it will be “ https://alexjoh@bitbucket.org/alexjoh/blogmarkdown.git ” Link the remote with local folder * Create local folder. In my case, I created d:\gitrepo Initialize git local repo. Change the folder to the gitrepo and run git init If there are existing files from a remote git re...
Hey Alex..
ReplyDeleteThanks a lot for this working sample !!! I had gone crazy searching for something like this !!! Glad I landed here.. worked like a charm !!
Thanks again !!
Mukta
Hi Alex, I need some help with this. How may I contact you ?
ReplyDeleteHi Alex, Nice Artical, we are looking for angular js with waffle-spring security. Let me know
ReplyDeleteDoes it pick the windows logged in user as the remote user ?
ReplyDeleteThanks a lot very much for the high quality and results-oriented help.
ReplyDeleteI won’t think twice to endorse your blog post to anybody who wants
and needs support about this area.
hire angularjs developer
Great work, Thank you..
ReplyDeleteDo you have a sample with annotations?