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!

Recommended Posts

Posted

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

Posted

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

' %>

Posted

Hallo Tobi!

 

Danke erstmals für Deine ausführung.

 

Kann es erst am Samstag versuchen.

Du hörst von mir

 

 

PS: Danke nochmal für Deine Mühe!!!

 

Inari

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...