Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daneseuwu/webservices-auth-java
user authentication with SOAP web service using sql server, java web, sql server side encryption, user permissions to execute stored procedure
https://github.com/daneseuwu/webservices-auth-java
authentication glassfish-server java java-web-app maven mvc-pattern netbeans-ide sql-server-database sqljdbc webservices
Last synced: about 17 hours ago
JSON representation
user authentication with SOAP web service using sql server, java web, sql server side encryption, user permissions to execute stored procedure
- Host: GitHub
- URL: https://github.com/daneseuwu/webservices-auth-java
- Owner: daneseuwu
- Created: 2023-01-15T00:21:23.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-01-16T18:22:10.000Z (almost 2 years ago)
- Last Synced: 2024-10-19T02:56:24.336Z (27 days ago)
- Topics: authentication, glassfish-server, java, java-web-app, maven, mvc-pattern, netbeans-ide, sql-server-database, sqljdbc, webservices
- Language: Java
- Homepage:
- Size: 52.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WebServices-auth
Required```bash
GlassFish 4.1.2 server http
sqljdbc 6 is required in the web service library as well as in the connection to the service database
jdk 1.8
Netbeant 8.2 or Apache netbean 15
server version 2019 or lastest
```Create database on sql server
```sql
create database webservicedba
```
use database on sql server
```sql
use webservicedba
```Create tables
```sql
create table user_webservice(
id_user int identity(1,1) primary key,
firtname varchar (50),
lastname varchar (50),
code varchar(50),
username varchar(50),
password varbinary(500),
id_rol int,
date_created datetime
)select * from user_webservice
``````sql
create table rol(
id_rol int identity(1,1) primary key,
rol varchar(20)
)select * from rol
```
Encrypt passwords for users' registers using sentence ```SQL UPDATE``` where 123 is the password for the default for all```sql
update user_webservice set password=ENCRYPTBYPASSPHRASE('Pr0gr4mm1ng','123')
```decrypt passwords with pattern
```sql
select username,CONVERT(varchar(25), DECRYPTBYPASSPHRASE('Pr0gr4mm1ng', password)) password from user_webservice
```
Create storage procedure for validate auth user
```sql
create procedure sp_auth
@username varchar(50),
@password varchar(50),
@pattern varchar(50)
as
begin
if Exists (select * from user_webservice where username=@username and
CONVERT(varchar(25), DECRYPTBYPASSPHRASE(@pattern, password)) =@password )
select * from user_webservice where username=@username and
CONVERT(varchar(25), DECRYPTBYPASSPHRASE(@pattern, password)) =@password
else
select -1 id_user
end
```
Connection String
```sql
public class connectionsql {
//configure driver connection sql driver
Connection cn = null;
//String inst = "";
static connectionsql instancia = null;
String strConexionSql = "jdbc:sqlserver://localhost\\SRV01:1433;databaseName=webservicedba";
String strDriver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//contructor class connection
public connectionsql() {
//declare var user and pass to execute storage procdure on database
String dbuser = "webservicedba";
String dbpassword = "123";try {
Class.forName(strDriver);
cn = DriverManager.getConnection(strConexionSql,dbuser,dbpassword);} catch (Exception ex) {
ex.printStackTrace();
}}
public static connectionsql getInstancia() throws Exception {
if (instancia == null) {
instancia = new connectionsql();
}
return instancia;}
public Connection getConexion() {
return cn;
}
}````
import
```java
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import config.connectionsql;
import interfaces.authInterface;
import models.auth;
```
controller
```java
public class authControllers implements authInterface {Connection cn;
CallableStatement auth;
ResultSet rs;
String pattern = "Pr0gr4mm1ng";@Override
public auth authUser(String username, String password) {
auth user = new auth();try {
cn = connectionsql.getInstancia().getConexion();
auth = cn.prepareCall("{call sp_auth(?,?,?)}");
auth.setString(1, username);
auth.setString(2, password);
auth.setString(3, pattern);
rs = auth.executeQuery();if (rs.next()) {
if (rs.getInt("id_user") > 0) {user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));// if (rs.getBoolean("Estado")) {
// user.setStatus(1);
// } else {
// user.setStatus(0);
// }} else {
user.setId_user(-1);
user.setError("user not found");
}
} else {
user.setId_user(-1);
user.setError("user or pass incorrect");
}
} catch (Exception ex) {
user.setId_user(-1);
user.setError("error validation" + ex.getMessage());
}
return user;
}}
```
model getter and setter
```java
int id_user;
String username;
String password;
int status;
String error;public int getId_user() {
return id_user;
}public void setId_user(int id_user) {
this.id_user = id_user;
}public String getUsername() {
return username;
}public void setUsername(String username) {
this.username = username;
}public String getPassword() {
return password;
}public void setPassword(String password) {
this.password = password;
}public int getStatus() {
return status;
}public void setStatus(int status) {
this.status = status;
}public String getError() {
return error;
}public void setError(String error) {
this.error = error;
}```
interface
```java
public auth authUser(
String username,
String password);
```