Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
W
web-console
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Javier Larrosa
web-console
Commits
ca9916b7
Commit
ca9916b7
authored
Dec 27, 2025
by
ajlarrosa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
hs-12 Mejora en mensajes de errores
parent
e1aec448
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
41 additions
and
7 deletions
+41
-7
main_controller.go
src/controllers/main_controller.go
+37
-4
signin_form.go
src/models/signin_form.go
+4
-3
ssh-web-console.exe
ssh-web-console.exe
+0
-0
No files found.
src/controllers/main_controller.go
View file @
ca9916b7
package
controllers
import
(
"net/http"
"strconv"
"github.com/genshen/ssh-web-console/src/models"
"github.com/genshen/ssh-web-console/src/utils"
"golang.org/x/crypto/ssh"
"net/http"
"strconv"
)
func
SignIn
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
...
...
@@ -35,13 +36,25 @@ func SignIn(w http.ResponseWriter, r *http.Request) {
session
.
Node
=
utils
.
NewSSHNode
(
userinfo
.
Host
,
userinfo
.
Port
)
err
:=
session
.
Connect
(
userinfo
.
Username
,
ssh
.
Password
(
userinfo
.
Password
))
if
err
!=
nil
{
errUnmarshal
=
models
.
JsonResponse
{
HasError
:
true
,
Message
:
models
.
SIGN_IN_FORM_TYPE_ERROR_PASSWORD
}
// Incluir mensaje de error SSH detallado
errorDetail
:=
err
.
Error
()
errUnmarshal
=
models
.
JsonResponse
{
HasError
:
true
,
Message
:
models
.
SIGN_IN_FORM_TYPE_ERROR_PASSWORD
,
ErrorDetail
:
errorDetail
,
}
}
else
{
defer
session
.
Close
()
// create session
client
,
err
:=
session
.
GetClient
()
if
err
!=
nil
{
// bad connection.
errUnmarshal
=
models
.
JsonResponse
{
HasError
:
true
,
Message
:
models
.
SIGN_IN_FORM_TYPE_ERROR_TEST
,
ErrorDetail
:
"Error al obtener cliente SSH: "
+
err
.
Error
(),
}
utils
.
ServeJSON
(
w
,
errUnmarshal
)
return
}
if
session
,
err
:=
client
.
NewSession
();
err
==
nil
{
...
...
@@ -51,10 +64,30 @@ func SignIn(w http.ResponseWriter, r *http.Request) {
utils
.
ServeJSON
(
w
,
errUnmarshal
)
utils
.
SessionStorage
.
Put
(
token
,
expireUnix
,
userinfo
)
return
}
else
{
// Error al crear token JWT
errUnmarshal
=
models
.
JsonResponse
{
HasError
:
true
,
Message
:
models
.
SIGN_IN_FORM_TYPE_ERROR_TEST
,
ErrorDetail
:
"Error al crear token JWT: "
+
err
.
Error
(),
}
}
}
else
{
// Error al ejecutar whoami
errUnmarshal
=
models
.
JsonResponse
{
HasError
:
true
,
Message
:
models
.
SIGN_IN_FORM_TYPE_ERROR_TEST
,
ErrorDetail
:
"Error al ejecutar comando de prueba (whoami): "
+
err
.
Error
(),
}
}
}
else
{
// Error al crear sesión SSH
errUnmarshal
=
models
.
JsonResponse
{
HasError
:
true
,
Message
:
models
.
SIGN_IN_FORM_TYPE_ERROR_TEST
,
ErrorDetail
:
"Error al crear sesión SSH: "
+
err
.
Error
(),
}
}
errUnmarshal
=
models
.
JsonResponse
{
HasError
:
true
,
Message
:
models
.
SIGN_IN_FORM_TYPE_ERROR_TEST
}
}
}
else
{
errUnmarshal
=
models
.
JsonResponse
{
HasError
:
true
,
Message
:
models
.
SIGN_IN_FORM_TYPE_ERROR_VALID
}
...
...
src/models/signin_form.go
View file @
ca9916b7
...
...
@@ -15,7 +15,8 @@ type UserInfo struct {
}
type
JsonResponse
struct
{
HasError
bool
`json:"has_error"`
Message
interface
{}
`json:"message"`
Addition
interface
{}
`json:"addition"`
HasError
bool
`json:"has_error"`
Message
interface
{}
`json:"message"`
Addition
interface
{}
`json:"addition"`
ErrorDetail
string
`json:"error_detail,omitempty"`
// Mensaje de error detallado (ej: error SSH específico)
}
ssh-web-console.exe
View file @
ca9916b7
No preview for this file type
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment