First auth
This commit is contained in:
parent
d1b24f5f97
commit
26426f7d3d
1 changed files with 132 additions and 0 deletions
132
lweb_auth.pb
Normal file
132
lweb_auth.pb
Normal file
|
@ -0,0 +1,132 @@
|
|||
;************************
|
||||
;* lweb_auth.pb
|
||||
;*
|
||||
;* Authentication Library.
|
||||
;*
|
||||
;* Created and develobed by Linder Hard- und Software
|
||||
;*
|
||||
;*
|
||||
|
||||
XIncludeFile "lhs_lib/NET/lhs_web_helper.pbi"
|
||||
|
||||
Structure DB_Config
|
||||
Type.i ;0=csv, 1=txt ,2=SQLite, 3=mar, 4=psq
|
||||
File_Name.s
|
||||
DB_Connection.s
|
||||
DB_User.s
|
||||
DB_Password.s
|
||||
EndStructure
|
||||
|
||||
Structure Config
|
||||
DB_User.DB_Config
|
||||
DB_Session.DB_Config
|
||||
EndStructure
|
||||
|
||||
Global.s ZumSenden
|
||||
Global.s State
|
||||
Global.s DB_Cfg
|
||||
Global.s DB_Session
|
||||
|
||||
ProcedureCDLL init(Config_XML.s)
|
||||
|
||||
EndProcedure
|
||||
|
||||
ProcedureCDLL Database_User(DB_Cfg.s)
|
||||
Select Left(DB_Cfg, 3)
|
||||
Case "csv"
|
||||
;csv:/path/to/file.csv
|
||||
Case "txt"
|
||||
;txt:/path/to/file.txt
|
||||
Case "sli"
|
||||
;sli:/path/to/sqliteDB.sqlite
|
||||
Case "mar"
|
||||
;mar:host=localhost port=3306 dbname=test user=|USERNAME| password=|PASSWORD|
|
||||
Case "psq"
|
||||
;psq:host=localhost port=5432 dbname=test user=|USERNAME| password=|PASSWORD|
|
||||
Default
|
||||
State = "Failed"
|
||||
ProcedureReturn @State
|
||||
EndSelect
|
||||
EndProcedure
|
||||
|
||||
ProcedureCDLL Database_Session(DB_Cfg.s)
|
||||
Select Left(DB_Cfg, 3)
|
||||
Case "csv"
|
||||
;csv:/path/to/file.csv
|
||||
Case "txt"
|
||||
;txt:/path/to/file.txt
|
||||
Case "sli"
|
||||
;sli:/path/to/sqliteDB.sqlite
|
||||
Case "mar"
|
||||
;mar:host=localhost port=3306 dbname=test user=|USERNAME| password=|PASSWORD|
|
||||
Case "psq"
|
||||
;psq:host=localhost port=5432 dbname=test user=|USERNAME| password=|PASSWORD|
|
||||
Default
|
||||
State = "Failed"
|
||||
ProcedureReturn @Failed
|
||||
EndSelect
|
||||
EndProcedure
|
||||
|
||||
Procedure.s GetUserFromDBCFG(DB_Cfg.s)
|
||||
Protected Pos_Start, Pos_End, User_Name.s
|
||||
Pos_Start = FindString(DB_Cfg, "user=|", 0) + Len("user=|")
|
||||
Pos_End = FindString(DB_Cfg, "|", Pos_Start)
|
||||
User_Name.s = Mid(DB_Cfg, Pos_Start, Pos_End-Pos_Start)
|
||||
ProcedureReturn User_Name
|
||||
EndProcedure
|
||||
|
||||
Procedure.s GetPassworfFromDBCFG(DB_Cfg.s)
|
||||
Protected Pos_Start, Pos_End, User_Password.s
|
||||
Pos_Start = FindString(DB_Cfg, "password=|", 0) + Len("password=|")
|
||||
Pos_End = FindString(DB_Cfg, "|", Pos_Start)
|
||||
User_Password.s = Mid(DB_Cfg, Pos_Start, Pos_End-Pos_Start)
|
||||
ProcedureReturn User_Password
|
||||
EndProcedure
|
||||
|
||||
ProcedureCDLL post_test(handler_Map_JSON.s, ContentData.s)
|
||||
Define *Text
|
||||
Define.s Encoded, TBD, Text, JSONStringToMap
|
||||
Define MyThreadJSON, File
|
||||
NewMap Header.s()
|
||||
File = CreateFile(#PB_Any, "test.log")
|
||||
WriteStringN(File, "handler_Map_JSON:")
|
||||
WriteStringN(File, handler_Map_JSON)
|
||||
WriteStringN(File, "Content Data:")
|
||||
WriteStringN(File, ContentData)
|
||||
|
||||
JSONStringToMap = handler_Map_JSON
|
||||
If JSONStringToMap <> lhs_web_helper::#error_string
|
||||
MyThreadJSON = ParseJSON(#PB_Any, JSONStringToMap)
|
||||
If MyThreadJSON
|
||||
ClearMap(Header())
|
||||
ExtractJSONMap(JSONValue(MyThreadJSON), Header())
|
||||
FreeJSON(MyThreadJSON)
|
||||
EndIf
|
||||
EndIf
|
||||
|
||||
NewMap Response.s()
|
||||
TBD="<div><div><h1>FormularPost</h1></div><br/>"+#CRLF$
|
||||
ResetMap(Header())
|
||||
While NextMapElement(Header())
|
||||
TBD = TBD+"<div>"+MapKey(Header())+" : "+Header()+" </div><br/>"+#CRLF$
|
||||
Wend
|
||||
ContentData = URLDecoder(ContentData, #PB_UTF8)
|
||||
Text = ~"<html lang=\"de\">" +
|
||||
"<head>" +
|
||||
~"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\"/>" +
|
||||
"<title>Alle Client Headers</title></header><body>"+TBD+"<hr/><br/><h1>ConentJSON</h1><br/>"+ContentData+"</body></html>"
|
||||
*Text = AllocateMemory(StringByteLength(Text, #PB_UTF8))
|
||||
PokeS(*Text, Text, -1, #PB_UTF8)
|
||||
Encoded = Base64Encoder(*Text, MemorySize(*Text))
|
||||
Response(lhs_web_helper::#cha_R_ResponseContentType) = lhs_web_helper::#response_string
|
||||
Response(lhs_web_helper::#cha_R_StringBase64) = Encoded
|
||||
Response(lhs_web_helper::#cha_R_ResponseType) = lhs_web_helper::mimetype("html")
|
||||
Response(lhs_web_helper::#cha_R_http_head_status) = "200 Ok"
|
||||
|
||||
ZumSenden = lhs_web_helper::MapToJSONString(Response())
|
||||
WriteStringN(File, "ZumSenden:")
|
||||
WriteStringN(File, ZumSenden)
|
||||
CloseFile(File)
|
||||
ProcedureReturn @ZumSenden
|
||||
|
||||
EndProcedure
|
Loading…
Reference in a new issue