Jump to content

Windows Authendifizierung mit ASPNET


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo Ihr

 

Folgendes Problem.

Schreibe ein Projekt für die Schule - ASP.NET anwendung mit SQL zugriff.

Wenn ich die Startseite öffne, soll sich der am System Angemeldete User in die SQL Datenbank eintragen.

 

Ich habe hiezu eine Stored Procedure geschrieben welche dies durchführt.

 

Jedoch kann ich einstellen und machen was ich will, es trägt sich in die db immer der User: "Computername/ASPNET" ein,

es sollte aber : "Computername/Windows Benutzer" stehen.

 

Ich verwende für die Procedure den "System_User" als Parameter

und bei der .NET anwendung eine "Trusted_Connection".

 

Was mache ich falsch oder vergesse ich!?

 

Ich währe Euch sehr Dankbar wenn mir irgendjemand helfen könnte!!!

 

Dank Euch vorerst

Link zu diesem Kommentar

Hi

Also ich arbeite zur Zeit auch mit ASP. Hab auch eine Scipt mit dem sich ein Benutzer anmeldet und sein Benutzername in einer (Access) Datenbank abelegt wird.

Anbei mein Script

Ich hoffe es hilft dir weiter

 

' <%

' Wurde der Besucher bereits identifiziert?

if not session("ok")=1 then

'Nein also nachfragen:

session("ok")=1

hinweis = "Zugriffsschutz. Bitte melden Sie sich an!"

'Zugriff verweigert

Response.Status = "401"

' Browser um Identifikation bitten:

Response.AddHeader "WWW-Authenticate", "BASIC realm=""" & hinweis & """"

Response.End

else

'Ergebnis der Authentifikation erfragen:

resultat = Request.ServerVariables("HTTP_AUTHORIZATION")

'Ergebnis gültig

if len(resultat)>6 then

'Unbrauchbare Teile abschneiden

resultat=mid(resultat,7)

do while right(resultat,1)="=" and len(resultat)>1

resultat=trim(left(resultat, len(resultat)-1))

loop

end if

end if

 

'Dateisystemzugriff aktivieren:

set fs = Server.CreateObject("Scripting.FileSystemObject")

'Prüfen, ob anbemeldete Benutzer Zugriffsrechte hat:

kennworte = "zugriff.asp"

pfad = fs.GetParentFolderName(Request.ServerVariables("PATH_TRANSLATED"))

kennwortdatei = "C:\TT-Site\Geschützter Bereich\" & kennworte

if fs.FileExists(kennwortdatei) then

set kennworte = fs.OpenTextFile(kennwortdatei)

do until kennworte.atEndOfStream

user = kennworte.ReadLine

if resultat=user then

ok = true

exit do

 

end if

loop

' TEST START

 

' Dateisystemzugriff aktivieren:

set fs = Server.CreateObject("Scripting.FileSystemObject")

 

kennworte = Resultat

pfad = fs.GetParentFolderName(Request.ServerVariables("PATH_TRANSLATED"))

 

 

user = resultat

codiert = ConvertBase64(user)

' Benutzernamen und Kennwort auslesen:

credentials = Split(GetCredentials(codiert), ":")

benutzername = credentials(0)

kennwort = credentials(1)

 

DBPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="

DBPath = DBPath & Server.MapPath("Speiseplan.mdb") ' Pfad zur Datenbank, muss eventuell angepasst werden

Set conn = Server.CreateObject("ADODB.Connection")

conn.Open DBPath

 

 

Set rs=Server.CreateObject("ADODB.Recordset")

strSQL="SELECT * FROM Benutzername"

rs.Open strSQL,conn,0,3

 

if rs.Supports (adUpdate + adAddNew) then ' speichert die Daten in die Datenbank

rs.AddNew

rs.Fields("Benutzername")= benutzername

rs.Fields("Datum")=FormatDateTime(Now,vbShortDate)

rs.update

rs.close

end if

 

conn.close

set kennworte = Nothing

set fs = Nothing

 

function ConvertBase64(coded)

' wandelt ASCII-Zeichen um in Base64-Bitmaske:

for loopvar=1 to len(coded)

zeichen = mid(coded, loopvar, 1)

if zeichen>="A" and zeichen<="Z" then

wert = asc(zeichen)-asc("A")

elseif zeichen>="a" and zeichen<="z" then

wert = asc(zeichen)-asc("a")+26

elseif zeichen>="0" and zeichen<="9" then

wert = asc(zeichen)-asc("0")+52

elseif zeichen="+" then

wert = 126

elseif zeichen="/" then

wert = 127

end if

ConvertBase64 = ConvertBase64 + showBin(wert)

next

end function

 

function GetCredentials(base64)

' liest Zeichen aus Base64-Bitmaske aus:

for loopvar=1 to len(base64) step 8

zeichen = mid(base64, loopvar, 8)

GetCredentials = GetCredentials + chr(ReadBin(zeichen))

next

end function

 

function ShowBin(wert)

' wandelt einen Dezimalwert in einen 6-Bit-String um:

for loopvar=5 to 0 step-1

if (wert and 2^loopvar) then

ShowBin=ShowBin+"1"

else

ShowBin=ShowBin+"0"

end if

next

end function

 

function ReadBin(wert)

' liest Dezimalwert aus einem 8-Bit-String

ReadBin = 0

for loopvar=0 to 7

bit = mid(wert, loopvar+1, 1)

if bit="1" then

ReadBin = ReadBin + 2^(7-loopvar)

end if

next

end function

 

 

 

 

 

' TEST ENDE

' kennworte.close

set kennworte = Nothing

set fs = Nothing

if not ok then

Response.Redirect "14-4.asp"

end if

 

else

set fs = Nothing

Response.Write "<h3>Die Kennwortdatei """ & kennwortdatei & """ konnte nicht gefunden werden!</h3>"

Response.End

end if

' %>

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...