Hallo
Ich habe für eine SSO-Auth. eine ASP seite aber anscheinend kommt SP07 damit nicht klar sondern nur ASPX.
Ist es so?
Danke.
Ja, ich habe die Nachricht bekommen und beantwortet.
Die eigentliche Frage gebe ich mal weiter: hat jemand Lust und Zeit das zu machen?
danke. solange probier ich das mal alleine :)
hier mal meine anfänger lösung und die frage obs so in etwa korrekt ist :
<%@ Page Language="C#" %>
<script runat="server">Dim strTotalDataDim stDim strNewDataListDim strMD5SecureKeyDim strKeyFolderDim fsDim objFileDim pubkeyDim trayUtilDim iDim userInfoDim remoteIPDim trayLoginIPDim trayLoginTimeDim st2Dim infoDim posDim infoKeyDim infoValue
strTotalData = Request.form("totaldata")st = split(strTotalData,";")strNewDataList = st(0)strMD5SecureKey = st(1)strKeyFolder = st(2)
Set fs = Server.CreateObject("Scripting.FileSystemObject")Set objFile = fs.OpenTextFile("c:\\EpTray\\" + strKeyFolder + "\\mySingle_key",1) Do While objFile.AtEndOfStream <> True pubkey = pubkey + objFile.readLineloopobjFile.Closeset objFile=nothingset fs=nothing
set trayUtil = CreateObject("EpTrayUtil.Util")userInfo = trayUtil.DecryptDataList(pubkey, strMD5SecureKey, strNewDataList)
Set trayUtil = Nothing
response.write "User Info :<br>" +userInfo+ "<BR><br>"
trayLoginIP = ""trayLoginTime = ""
st2 = split(userInfo,";")
for i=0 to UBound(st2) info = st2(i) if info<>"" then pos = instr(info,"=") if pos>0 then infoKey = left(info,pos-1) infoValue = mid(info,pos+1) if infoKey="EP_RETURNCODE" AND infoValue="0" then response.write "LOGIN ERROR!!!!" response.write "<BR>" end if if infoKey="EP_LOGINIP" then trayLoginIP = infoValue end if
if infoKey="EP_LOGINTIMEFORMIS" then trayLoginTime = infoValue 'YYYYMMDDhhmmss. end if end if end ifnext
'Check Login Time'If you want to know user's first login time, you could use ep-logintimeformis. 'It depends on your security policy 'whether block or not when first login time was 12 hours before.
'Add 9 hours to GMT time so that it turns into KST timetrayLoginTime = Cdate(Mid(trayLoginTime,1,4) + "-" + Mid(trayLoginTime,5,2) + "-" + Mid(trayLoginTime,7,2) + " " + Mid(trayLoginTime,9,2) + ":" + Mid(trayLoginTime,11,2) + ":" + Mid(trayLoginTime,13,2))trayLoginTime = DateAdd("h",9, trayLoginTime)
response.write "<BR>TrayLoginTime : "response.write trayLoginTimeresponse.write "<BR>"
response.write "System Time : "response.write now()response.write "<BR>"
response.write "Time Elapsed : "response.write DateDiff("h", trayLoginTime, now())response.write "<BR>"
if DateDiff("h",trayLoginTime,now()) < 12 then response.write "Login Time Check OK !!<BR><BR>"else response.write "Login Time Out !!<BR><BR>"end if
' Check IPremoteIP = request.servervariables("remote_addr")
response.write "Tray IP :" + trayLoginIP + "<BR>"response.write "Login IP :" + remoteIP + "<BR>"
if remoteIP=trayLoginIP then response.write "IP Check OK !!<BR>"else response.write "IP Check Fail !!<BR>"end if
</script>
<html dir="ltr">
<head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Ohne_Titel_1</title><meta name="Microsoft Theme" content="Lacquer 1011, default"></head>
<body>
<form id="form1" runat="server"></form>
</body>
</html>
im body - teil muss ich den code aber irgendwie ausführen ! nur wie mache ich das?
donSharepoint:<%@ Page Language="C#" %>
Ändere das C# in VB, dann müßte es weitgehend funktionieren. Es ist allerdings schon eine Weile her, daß ich das letzte Mal mit VB zu tun hatte.
Und schön ist das Ganze nicht. Einem gestandenen ASP.NET Entwickler dreht sich da der Magen um ;-)
donSharepoint:im body - teil muss ich den code aber irgendwie ausführen ! nur wie mache ich das?
Packe den gesamten Code inProtected Overrides Sub OnLoad(e As EventArgs)' hier der CodeEnd Sub
OnLoad wird bei jedem Laden der Seite ausgeführt.
ok danke ! ja ich weiß aber für den anfang ist es ok : ) hauptsache es läuft erstmal...später kann ich es immernoch optimieren.
gruß
donSharepoint:hauptsache es läuft erstmal...später kann ich es immernoch optimieren
Das sind genau die Sachen, die zehn Jahre später immer noch produktiv laufen :-)
:-) wo du recht hast hast du recht :)
andiiiiiiiiiiii :(
sp wirft mir immernoch die exception :
An error occurred during the processing of /site_connect.aspx. Code blocks are not allowed in this file.
denk wahrscheinlich immernoch das es eine asp seite ist und nicht aspx.
oder? was meinst du?
Das ist das Problem, das ich weiter oben angesprochen habe: Inline-Code ist nur bei den sog. Application Pages erlaubt. Die Seite muß ins Dateisystem des Servers, z.B. in den Layouts-Ordner (oder besser in ein eigenes Unterverzeichnis dort).
wo bedindet sich der _layout-ordner genau???
Im SharePoint-Root, auch bekannt als 14-Ordner (Program Files/Common Files/Microsoft/web server extensions), unter Template/Layouts.
ok bei uns heisst es "12" . warum? weils SP07 ist ?
ok die seite wird jetzt zumind. als aspx akzeptiert ! jetzt nur noch der JS Exception : Zeile 6 bei "var rrtn = EpAdmC.GetSecureBox();"
Message: Object doesn't support this property or method
ich seh den fehler nicht. du ? den fehler hatte ich schonmal an der stelle.
<html><head><title> MIS Test </title><script language="javaScript">
function goSession() { var rrtn = EpAdmC.GetSecureBox(); if(rrtn != "") { form1.totaldata.value = rrtn; form1.submit(); } else { alert('mySingle login pleaze..'); return; } }
</script></head><body onLoad="javascript:goSession()"><OBJECT ID="EpAdm2 Control" name="EpAdmC" CLASSID="CLSID:C63E3330-049F-4C31-B47E-425C84A5A725"></OBJECT> <form name="form1" method="post" action="C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\site_connect.aspx"> <input type="hidden" name="totaldata" value=""> </form></body></html>
Keine Ahnung - ich kenne dieses Objekt nicht.
Muß vielleicht noch eine zusätzliche JS-Library als JS-Datei eingebunden werden? Oder versuche mal das <form> eine Zeile höher zu schieben, so daß alles innerhalb des form-Tags liegt.
Das mit dem 12-Ordner stimmt natürlich. Ich hatte ganz übersehen, daß wir ja im 2007-Forum sind.
hi andi
mein JS problem ist gelöst aber leider kann sharepoint mein aspx file immernoch nicht 100% ausführen. ich habe die aspx datei in dem ordner :
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS
rein geschoben wie du es mir gesagt hast nur irgendwie funzt es noch nicht...hast du ne idee ? :(
Sorry, aber ohne nähere Kenntnis, was da eigentlich vorgeht, kann man da nichts sagen. Und da Du nicht mal eine Fehlermeldung preisgibst...