SharePointCommunity
Die deutschsprachige SharePoint Community für SharePoint 2013, 2010 und Office 365


asp seite auf SP07

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 45 Antworten | 2 Followers

Top-50-Beitragsschreiber
235 Beiträge
donSharepoint erstellt in 9 Jul 2012 16:16

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.

Alle Antworten

Top-50-Beitragsschreiber
235 Beiträge

in diesem forum ist erklärt worden wie man inline codes ausführen kann : http://social.msdn.microsoft.com/forums/en-US/sharepointdevelopment/thread/be7c0af8-b883-4193-a0b3-c12b269069ea/

ich versuche gerade  "Dwarf Nebulas" beschreibung auszuführen indem ich meine default.master page erweitere mit der zeile

<%@ Register TagPrefix="mcb" TagName="DateTimeDisplay" Src="~/_controltemplates/DateTimeDisplay.ascx" %>

weißt du wieso ich eine 404 meldung bekomme sobald ich die default.masterpage ändere und die seite wieder einchecke über den designer???

 

Top-50-Beitragsschreiber
235 Beiträge

ok ich komme immer näher :)

 

wieso wird in meinem aspx file mcb nicht akzeptiert ? fehler : unknown server tag mcb:DateTimeDisplay

 

<mcb:DateTimeDisplay id="DateTimeDisp" runat="server" />

Top-50-Beitragsschreiber
235 Beiträge

ok ich komme immer näher :)

 

wieso wird in meinem aspx file mcb nicht akzeptiert ? fehler : unknown server tag mcb:DateTimeDisplay

 

<mcb:DateTimeDisplay id="DateTimeDisp" runat="server" />

Top-10-Beitragsschreiber
Männlich
11.441 Beiträge

Das sollte man tunlichst sein lassen (inline code erlauben)! Microsoft hat sich durchaus etwas dabei gedacht.

Und bei der geposteten Codezeile kann ich nichts bezüglich Masterpage erkennen. Kann es sein, daß Du etwas durcheinanderbringst?

Viele Grüße
Andi
af (ät) evocom (Punkt) de
Blog
Top-10-Beitragsschreiber
Männlich
11.441 Beiträge

Es gibt in SharePoint standardmäßig kein Control DateTimeDisplay.ascx

Viele Grüße
Andi
af (ät) evocom (Punkt) de
Blog
Top-50-Beitragsschreiber
235 Beiträge

dann weiß ich leider nicht wie ich diesen asp code  in aspx schreiben kann :////

Dim strTotalData

Dim st

Dim strNewDataList

Dim strMD5SecureKey

Dim strKeyFolder

Dim fs

Dim objFile

Dim pubkey

Dim trayUtil

Dim i

Dim userInfo

Dim remoteIP

Dim trayLoginIP

Dim trayLoginTime

Dim st2

Dim info

Dim pos

Dim infoKey

Dim 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

)

Top-10-Beitragsschreiber
Männlich
11.441 Beiträge

Irgendwsie geht in diesem Thread immer mehr durcheinander :S

1. Ich verstehe nicht, was es mit dem o.g. DateTime-Dingens auf sich hat.

2. In einer Application Page ist inline code durchaus erlaubt. Das kann also nicht das Problem sein.

3. Du verwendest im Code Scripting.FileSystemObject. Das ist ein uraltes COM-Objekt und evtl. ist das für die Probleme verantwortlich. In .NET würde man für sowas die Klassen aus System.IO verwenden.

Viele Grüße
Andi
af (ät) evocom (Punkt) de
Blog
Top-50-Beitragsschreiber
235 Beiträge

das mit datetime war nur ein kleiner test was im forum beschrieben wurde wie man inline codes in SP ausführen kann.

ok du hast recht aber wieso bekomm ich dann von SP die meldung : Code blocks are not allowed in this file.

das ist doch ein grundlegendes problem und heisst soviel wie kein code ausgeführt werden kann sondern nur xml -format .

richtig oder falsch?

Top-10-Beitragsschreiber
Männlich
11.441 Beiträge

Dann ist es wohl immer noch keine "richtige" Application Page. Sie muß von Microsoft.SharePoint.WebControls.LayoutsPageBase oder einer davon abgeleiteten Klasse erben.

Viele Grüße
Andi
af (ät) evocom (Punkt) de
Blog
Top-50-Beitragsschreiber
235 Beiträge

hi andi.

ich hab mein ziel fast erreicht :) also folgendes ...hab ein convertierungstool gefunden der mir 30T bereit steht ! hab mein ASP Code dadurch gejagt und als Output eine ASPX bekommen..allerdings wirft mir der converter einen error ! jetzt brauche ich deine hilfe :)

der converter sagt das in der Zeile 43 also bei "objFile = fs.OpenTextFile("c:\\EpTray\\" + strKeyFolder + "\\mySingle_key", 1)" 

Invalid ProgId: 'EpTrayUtil.Util'

und Sharepoint sagt beim ausführen seite aspx seite : The aspcompat attribute on the page directive is not allowed in this page

ich kann mit den meldungen nicht viel anfangen :( kannst du mich bitte da nochmal unterstützen? vielen dank.

hier der ASPX output :

<%@ Page language="vb" aspcompat = true Explicit="True" Debug="true"%>
<%@ Import Namespace = "nce.scripting" %>

<html>
<head>
<META name="WebPartPageExpansion" content="full">
</head>
<body>

<%
    Dim strTotalData As String
    Dim st As Object
    Dim strNewDataList As Object
    Dim strMD5SecureKey As Object
    Dim strKeyFolder As Object
    Dim fs As FileSystemObject
    Dim objFile As TextStream
    Dim pubkey As String
    Dim trayUtil As Object
    Dim i As Integer
    Dim userInfo As Object
    Dim remoteIP As String
    Dim trayLoginIP As String
    Dim trayLoginTime As Object
    Dim st2 As Object
    Dim info As String
    Dim pos As Integer
    Dim infoKey As String
    Dim infoValue As String
%>
<%
    strTotalData = Request.Form("totaldata")
    st = Split(strTotalData, ";")
    strNewDataList = st(0)
    strMD5SecureKey = st(1)
    strKeyFolder = st(2)
    fs = new FileSystemObject()
    objFile = fs.OpenTextFile("c:\\EpTray\\" + strKeyFolder + "\\mySingle_key", 1)
    Do While objFile.AtEndOfStream <> true
        pubkey = pubkey + objFile.readLine()
    Loop
    objFile.Close()
    objFile = Nothing
    fs = Nothing
    trayUtil =  Server.CreateObject("EpTrayUtil.Util")
    userInfo = trayUtil.DecryptDataList(pubkey, strMD5SecureKey, strNewDataList)
    trayUtil = Nothing
    Response.Write("User Info :<br>" + userInfo + "<BR><br>")
    trayLoginIP = ""
    trayLoginTime = ""
    st2 = Split(userInfo, ";")
    For i = 0 To UBound(st2)
        info = CStr(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 IF
    Next
    '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 time
    trayLoginTime = Convert.ToDateTime(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, Convert.ToDateTime(trayLoginTime))
    Response.Write("<BR>TrayLoginTime : ")
    Response.Write(trayLoginTime)
    Response.Write("<BR>")
    Response.Write("System Time : ")
    Response.Write(Now())
    Response.Write("<BR>")
    Response.Write("Time Elapsed : ")
    Response.Write(DateDiff("h", Convert.ToDateTime(trayLoginTime), Now()))
    Response.Write("<BR>")
    If DateDiff("h", Convert.ToDateTime(trayLoginTime), Now()) < 12 Then
        Response.Write("Login Time Check OK !!<BR><BR>")
    Else
        Response.Write("Login Time Out !!<BR><BR>")
    End IF
    'Check IP
    remoteIP = 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
%>


</body>
</html>

 

 

 

 

Top-10-Beitragsschreiber
Männlich
11.441 Beiträge

donSharepoint:
<%@ Page language="vb" aspcompat = true Explicit="True" Debug="true"%>

Die Meldung sagt klar, daß das aspcompat-Attribut nicht erlaubt ist.

donSharepoint:
trayUtil =  Server.CreateObject("EpTrayUtil.Util")

Damit wird versucht, ein COM-Objekt zu erzeugen und das wird entweder nicht gefunden oder der Account, unter dem der Code läuft (der Account des Application pool) hat dazu keine Rechte.

Viele Grüße
Andi
af (ät) evocom (Punkt) de
Blog
Top-50-Beitragsschreiber
235 Beiträge

hi andi.

du sagtest :

trayUtil =  Server.CreateObject("EpTrayUtil.Util")

 

Damit wird versucht, ein COM-Objekt zu erzeugen und das wird entweder nicht gefunden oder der Account, unter dem der Code läuft (der Account des Application pool) hat dazu keine Rechte.

 

ich bin eigentlich FARMAdmin auf dem System. Dazu sollte ich doch eigentlich die nötigen Rechte haben richtig?

 

 

Top-10-Beitragsschreiber
Männlich
11.441 Beiträge

Das ist etwas, das außerhalb von SharePoint geschieht, d.h. es braucht dazu entsprechende Rechte auf dem Windows Server (Systemsteuerung - Verwaltung - Komponentendienste).

Es kann auch sein, daß das Sicherheitsmodell von SharePoint, d.h. dessen Trust Level, sowas generell unterbindet. Man müßte das dann über Anpassungen der web.config passend konfigurieren - da kann ich Dir aber nicht weiterhelfen.

Edit: vielleicht wird auch tatsächlich das Objekt einfach nicht gefunden. Ist die dll denn ordentlich registriert (so daß sie in der Registry erscheint)? Das geht mit regsvr32 in einer DOS-Box.

Viele Grüße
Andi
af (ät) evocom (Punkt) de
Blog
Top-50-Beitragsschreiber
235 Beiträge

welche dll meinst du genau? ich hab bei der konvertierung der asp2aspx eine dll datei mitgeliefert bekommen. den habe ich über regasm-befehl registriert. half aber auch nicht :(

 `hab auch schon die web.config datei mit:

   <PageParserPath VirtualPath="/Lists/Links/*" CompilationMode="Always" AllowServerSideScript="true" IncludeSubFolders="true"/>

erweitert ! auch nix gebracht :(

 

Top-10-Beitragsschreiber
Männlich
11.441 Beiträge

Ich meine die COM-dll, die das EpTrayUtil-Objekt enthält, das mit CreateObject instanziert werden soll.

Viele Grüße
Andi
af (ät) evocom (Punkt) de
Blog
Seite 3 von 4 (46 Elemente) < Zurück 1 2 3 4 Weiter > | RSS