Wednesday 27 December 2023
Multiples DATABASE Connection and Data shifting Using Spring Boots API
1. application.properties File for Add multiple DataBase Connection.
- Create Spring Boot Java (Microservices)
- Project Name: DataShiftingConfigSpringBoots
- Group: DataShifting-a143mk
- Artifactid: DataShifting-a143mk
- Description: DataBase Connection and Data shifting using Spring boot API.
- Package: DataShiftinga143mk
- spring-boot-configuration-processor
- ojdbc8
while creating the project pom.xml file and some maven dependency, main class is automatically created when web add any dependency like.
pom.xml
1. Configure application.properties
Create DataBase Configuration java Files :
DBConfigDATABASE1.java
DBConfigDATABASE2.java
DBConfigDATABASE3.java
Create Scheduler ClassCreate Scheduler for Auto run Program and import some Packages Scheduler.java as below:
Have you seen the previous post? You all know how to learn and create Entity Bean, Repository, Service Implementation in the project. If you don't know about it then go to the previous post and learn it.
Tuesday 19 September 2023
How to PACKAGE Spring Boot application to JAR and WAR
The default packaging type of a Spring Boot project is jar if the
- CLEAN
- BUILD
- INSTALL
- PACKAGE.................etc.
Monday 26 June 2023
LDAP Authentication with Spring Boots
The client (an LDAP-ready system or application) sends a request to access information stored within an LDAP database. The client provides their LDAP server user credentials (username and password). The LDAP server cross-checks the user’s submitted credentials against the core user identity data stored in its LDAP database. If the provided credentials match the stored core user identity, the client can access the requested information. Incorrect credentials will lead to denied access to the LDAP database.
ldap.enable=true |
Enable
/ disable LDAP support. |
ldap.ldapUrl=ldap://HostIP:389 |
The
URL/IP to your LDAP server, including port |
ldap.ldapSystemDN=cn=Administrator,dc=olattest,dc=org |
System
user: used for getting all users and connection testing |
ldap.ldapSystemPW=mySuperPassword |
The
LDAP password of the system user |
ldap.ldapBases=
ou=person,dc=olattest,dc=org |
List
of bases where to find users. To use multiple bases you must edit the config
file manually |
ldap.sslEnabled
= false |
Enable
SSL connection |
ldap.trustStoreLocation=/usr/lib/j2sdk1.5-sun/jre/lib/security/cacerts |
Location
of the Java trust store |
ldap.trustStorePwd=changeit |
The
Java trust store password |
ldap.trustStoreType=JKS |
The
Java trust store type |
ldap.cacheLDAPPwdAsOLATPwdOnLogin=true |
When
users log in via LDAP, the system can keep a copy of the password as
encrypted hash in the database. This makes OLAT more independent from an
offline LDAP server and users can use their LDAP password to use the WebDAV
functionality. When setting to true (recommended), make sure you
configured password.change.allowed=false |
ldap.convertExistingLocalUsersToLDAPUsers=true |
When
the system detects an LDAP user that does already exist in OLAT but is not
marked as LDAP user, the OLAT user can be converted to an LDAP managed user.
When enabling this feature you should make sure that you don't have a user
'administrator' in your ldapBases (not a problem but not recommended) |
ldap.deleteRemovedLDAPUsersOnSync=false |
Users
that have been created vial LDAP sync but now can't be found on the LDAP
anymore can be deleted automatically. If unsure, set to false and delete
those users manually in the LDAP administration panel. |
ldap.deleteRemovedLDAPUsersPercentage=50 |
Sanity
check when deleteRemovedLDAPUsersOnSync is set to 'true': if more than the
defined percentages of user accounts are not found on the LDAP server and
thus recognized as to be deleted, the LDAP sync will not happen and require a
manual triggering of the delete job from the admin interface. This should prevent
accidential deletion of OLAT user because of temporary LDAP problems or user
relocation on the LDAP side. Value= 0 (never delete) to 100 (always delete). |
ldap.ldapSyncOnStartup=true |
Should
users be created and synchronized automatically on startup? If you set this
and the cron configuration to false, the users will be generated on-the-fly
when they log in the first time. |
ldap.ldapSyncCronSync=true |
Should
users be created and synchronized periodically, not just during startup? If
you set this and the startup configuration to false, the users will be
generated on-the-fly when they log in the first time. |
ldap.ldapSyncCronSyncExpression=0
0 * * * ? |
Set
the rule how often the LDAP synchronization should take place. Default is
every hour. For the cron syntax see quartz cron syntax documentation |
ldap.ldapUserObjectClass=person |
Configuration
for syncing user attributes during login or cron and batch sync. The user
object class to use. |
ldap.ldapUserCreatedTimestampAttribute=createdTimestamp |
The
LDAP attribute that tells the creation date of the LDAP user. In active
Directory this is typically "whenCreated", in OpenLDAP
"createdTimestamp". If not available, use the same as for the last
modified date. |
ldap.ldapUserLastModifiedTimestampAttribute=modifyTimestamp |
The
LDAP attribute that tells the creation date of the LDAP user. In active
Directory this is typically "whenChanged", in OpenLDAP
"modifiedTimestamp" |
ldap.attributename.useridentifyer=uid |
Mapping
of the LDAP user identifyer to an OLAT user. In Active Directory this is
typically "sAMAccountName", in OpenLDAP "uid". |
ldap.attributename.email=mail |
Mapping
of the mandatory OLAT user properties. In this example the LDAP attribute
"mail" will be mapped to the OLAT user property "email" |
ldap.attributename.firstName=givenName |
Mapping
of the mandatory OLAT user properties. In this example the LDAP attribute
"givenName" will be mapped to the OLAT user property
"firstname" |
ldap.attributename.lastName=sn |
Mapping
of the mandatory OLAT user properties. In this example the LDAP attribute
"sn" will be mapped to the OLAT user property "lastName" |
olatprovider.enable=false |
Disable
the normal OLAT login screen. When you
set ldap.cacheLDAPPwdAsOLATPwdOnLogin=true, a fallback to the normal
OLAT login is made in case the LDAP server can not be reached. You can set
this variable also to true to have the OLAT and the LDAP login screen
available |
default.auth.provider=LDAP |
Use
the LDAP login screen as the default login screen. |
- Create Spring Boot Java (Microservices) Project Example
- Project Name: LdapAuthenticationConfigSpringBoots.
- Group:Ldap-Auth-a143mk.
- Artifactid:Ldap-Auth-a143mk.
- Description:Learn-Configure LDAP Authentication.
- Package:LDAPAutha143mk.
- Spring Web
- Spring ldap
- ldapsdk
- ldap security
while creating the project pom.xml file and some maven dependency, main class is automatically created when web add any dependency like.
pom.xml
Configure application.properties
Create ldap-data.ldif :
Directory Server uses LDAP Data Interchange Format is a standard text format for representing LDAP objects and LDAP updates (add, modify, delete, modify DN) in a textual form.
WebSecurityConfig ClassCreate new package, named LDAPAutha143mk.config. In this package, create Configuration class name is WebSecurityConfig.java as below:
Create Controllers
Create new package named LDAPAutha143mk.controller. In this package, create new java class named LoginWelcomeController.java
Wednesday 17 May 2023
Learn I- Report configuration with Spring boot/Microservices using Java
iReport is a powerful graphical design tool for report designers and power users to define reports for execution using the JasperReports engine. Whether you are using the JasperReports library by itself as a critical component of your application or you are using it as a component of the JasperReports Server application, iReport can help you design reports to meet the most complex reporting demands. iReport is built on the NetBeans platform and is available as a standalone application or as a Netbeans plug-in.
Requirements For current Download JasperReports iReport Tools , Ckeck It is recommended that you run iReport with JDK v1.5,v1.6 or v1.7. Note that for Windows Vista users, it is recommended that you run JDK v1.7.
- Create Spring Boot Java (Microservices)
- Create/Design report.jrxml
- Project Name: I-ReportConfigurationApp
- Group:I-Report-a143mk
- Artifactid:I-Report-a143mk
- Description:Learn I- Report configuration with Microservices Application
- Package:I-Report-a143mk
- Spring Web
- Spring JPA
- Jasperreports
- javax.persistence
- Tomcat
- javax.servlet
- mysql
- jstl
while creating the project pom.xml file and some maven dependency, main class is automatically created when web add any dependency like.
pom.xml
2. Create Table: Table Name is product.
Configure application.properties
Create new package named IReporta143mk.repositories. In this package create the ProductRepository interface implements from CrudRepository interface of Spring Data JPA that provides CRUD Operations for an entity.
Create new package named IReporta143mk.services. In this package create the ProductService interface and ProductServiceImpl as below:
First one is ProductService.java
Create new package named IReporta143mk.controllers. In this package, create new java class named ProductController.java
Create new folder name is jsp. In thes folder /src/main/webapp/WEB-INF/jsp/index.jsp
Tuesday 3 January 2023
Single Sign-On (SSO) Using SMTP Authentication With Spring Boot Microservices
- LoginMailAuthHost_PortA143mk();
- OutLookMailAuthA143mk();
- GmailMailAuthA143mk();
while creating the project pom.xml file and some maven dependency, main class is automatically created when web add any dependency like.
pom.xml
Wednesday 13 July 2022
Social Client Login with OAuth2 Spring Boot Application
Add use Dependency in ApiGetway pom.xml file:
Wednesday 6 July 2022
OAuth2 Security with Spring Boot
OAuth2 is a token-based security authentication and authorization framework that breaks security down into four components. These four components are
- A protected resource—This is the resource (in our case, a microservice) you want to protect and ensure that only authenticated users who have the proper authorization can access
- A resource owner—A resource owner defines what applications can call their service, which users are allowed to access the service, and what they can do with the service. Each application registered by the resource owner will be given an application name that identifies the application along with an application secret key. The combination of the application name and the secret key are part of the credentials that are passed when authenticating an OAuth2 token.
- An application—This is the application that’s going to call the service on a behalf of a user. After all, users rarely invoke a service directly. Instead, they rely on an application to do the work for them.
- OAuth2 authentication server—The OAuth2 authentication server is the intermediary between the application and the services being consumed. The OAuth2 server allows the user to authenticate themselves without having to pass their user credentials down to every service the application is going to call on behalf of the user.
- Password
- Client credential
- Authorization code
- Implicit
To set up an OAuth2 authentication server, you need the following Spring Cloud dependencies in the authentication-service/pom.xml file
For Example: You have to Create Project Node Name is: "a143mk-Oauth2-Security" on STS4 Tools.
The first thing to note in this listing is the @EnableAuthorizationServer annotation. This annotation tells Spring Cloud that this service will be used as an OAuth2 service and to add several REST-based endpoints that will be used in the OAuth2 authentication and authorization processes.
Like other pieces of the Spring Security framework, to set up users (and their roles), start by extending the WebSecurityConfigurerAdapter class and mark it with the @Configuration annotation.
As such, you need to provide the OAuth2 server a mechanism to authenticate users and return the user information about the authenticating user. This is done by defining two beans in your Spring WebSecurityConfigurerAdapter implementation: authenticationManagerBean() and userDetailsServiceBean(). These two beans are exposed by using the default authentication authenticationManagerBean() and userDetailsServiceBean() methods from the parent WebSecurityConfigurerAdapter class.
you have to Create ConfigWeb.java class.
Run As-> Spring Boot App for Output:
For step by step development working watch the video and learn yourself.