討論區內文

當前位置:首頁>討論專區>內文


1.主題:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/15 下午 02:24:09

發表人來自:

202.154.209.240

您好:

請問在WEEP 中,要如何做到

發送一串連結網址  http://XXXX/aa/aa01.apsx

讓使用者點選連結 ,可以自動登入 網站

如下圖

因為會有公司別,系統別, 驗證碼

謝謝!

2.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/15 下午 02:37:36

發表人來自:

116.233.73.65

可以參考一下:

http://www.infolight.com/MVC/Home/DiscussDetail/433292

3.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/19 下午 03:37:47

發表人來自:

202.154.209.240

您好:

我要在同一個網站 發信,給連結 做登入

我於 LOCALHOST開發端 jQWebClient,新增服務參考  http://ZZZ.com.tw/XX/SingleSignOn.asmx

新增一個服務OOS

而jQWebClient\下產生一個 App_WebReferences 資料夾

但我要開啟LogOn.aspx 

卻出現

剖析器錯誤訊息: Reference.svcmap: 無法載入檔案或組件 'ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' 或其相依性的其中之一。 系統找不到指定的檔案。

原始程式錯誤:

[沒有相關的原始程式碼]

原始程式檔: /App_WebReferences/SSO/    行: 1

組件載入追蹤: 下列資訊在確定為何無法載入組件 'ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' 時是有幫助的。

警告: 組件繫結記錄切換為 OFF。

4.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/19 下午 03:40:37

發表人來自:

202.154.209.240

加入SSO 的 REFERENCE後,就不能用 LogOn.aspx  開啟一般頁面嗎?

5.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/19 下午 04:08:54

發表人來自:

116.233.73.65

singlesignOn是在沒有登錄eep網站的前提下,通過程式來完成登錄開啓網頁。

在已經開啓的網站的網頁中,不應該用這個連接來開另外一個網頁。

如果您是要開啓登錄畫面,那不需要sso,直接產生網址到logon網頁就可以。

6.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/19 下午 04:42:26

發表人來自:

202.154.209.240

您好:

現有上版方式:

localhost 透過logon.aspx登入後,測試網頁-->OK-->丟到正式機 http://ZZZ.com.tw/XX/

若localhost我加入 「服務參考」後,整個 localhost就不須再 透過LOGON 登入了嗎?

因為 要沒有登入EEP的前提,完成登入的網頁  與 正式機 是在同一個 網站。

這要如何做開發?

謝謝!

7.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/19 下午 05:24:11

發表人來自:

116.233.73.65

不太明白您的意思。SingleSignOn的作用是這樣的,現有兩個網站,A,B。其中B是EEP的網站,A可以是其他非EEP網站,也可以使跟B不同的EEP的網站。

現在在A網站中添加web服務,將B網站添加參考。在A網站某個位置寫程式調用服務的Logon方法來開啓B網站的某一個網頁。

您說的這個感覺只是從開發環境更新到正式環境,這個要免登錄嗎?

8.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/19 下午 05:40:38

發表人來自:

202.154.209.240

您好:

應該是 我只有一個 網站,類似 忘記密碼的功能

MAIL 一個網址,讓USER 點選該網址後,就可以開啟網頁(不須登入)

所以 我在同一個網站開發,這樣我加入服務參考後, 一般開發階段, 或正式 就不能用LOGON登入了

謝謝!

9.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/20 上午 08:20:04

發表人來自:

116.233.73.65

那並不適合直接使用singlesignon,這個也是要賬戶密碼登錄的。但是可以利用這個功能產生一個email的鏈接。您可以參考一下:

http://www.infolight.com/MVC/Home/DiscussDetail/442437

您目前的需求我不是太清楚,目前這種方式也是要每個賬號密碼才能產生對應的鏈接。如果只是讓其瀏覽資料而不是做其他操作,那可以用一個固定賬號產生singlesignon的鏈接來開啓網頁。

10.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/20 上午 09:33:16

發表人來自:

202.154.209.240

您好:

您說的範例 http://www.infolight.com/MVC/Home/DiscussDetail/442437

之後 又跳回 http://www.infolight.com/MVC/Home/DiscussDetail/433292

目前 ,我們只有一個網站 A;  他要瀏覽後-->進行操作

那我 參考說明負面的ASP作法,使用

   function Button1_onclick() {

    var objHTTP = new ActiveXObject("MSXML2.XMLHTTP");
    var xmlDOC =new ActiveXObject("MSXML.DOMDocument");

    var strWebserviceURL = " http://192.168.0.1/MyEEPWeb/ SingleSignOn.asmx/ LogOn ";
//設置參數和值
var strRequest = "userId=001&password=&dataBase=tulv&solution=Solution1" 
    objHTTP.Open("POST", strWebserviceURL, false);
    //設置Content-Type
    objHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
    objHTTP.Send(strRequest);
    var bOK = xmlDOC.load(objHTTP.responseXML);
//取得 Single Signon的public key
    var Getresult = "";
    if(objHTTP.Status==200)
    {
        xmlStr = xmlDOC.selectSingleNode("string").text;
        Getresult = xmlStr;
    }
    //透過 SingleSingOn.aspx進行轉址
    var Url = "http://192.168.0.1/MyEEPWeb/SingleSignOn.aspx? publickey="+Getresult+”&RedirectUrl=MyWebs/W001.aspx";
    //打開新視窗
    window.open(Url);
}

Q1.使用APS方式應該不用 在後端用
"在程式編輯介面,將剛剛增加的Infolight加入引用。using Infolight"  吧?


Q2.但第一個    var objHTTP = new ActiveXObject("MSXML2.XMLHTTP"); 就卡死了
目前統一使用chrome 
EDGE 也會出現 ActiveXObject' is not defined
WSAL70060092.aspx (63,16)

Q3.還有其他解決方案嗎?

謝謝!

    
11.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/20 上午 10:39:44

發表人來自:

116.233.73.65

這兩個帖的內容並不衝突,前面一個是實現singlesignon的方法,後面一個,正好是一個類似email鏈接免登錄的應用,利用了singlesignon產生一個固定的網址在emial中,點擊就可以不需要登錄直接開啓網頁。

因為這個問題其實不是簡單的幾行程式可以處理,有很多其他的因素會有影響,我只能猜測您的需求,提供目前認為對您會有幫助的內容。就目前的信息,首先您要實現一個singlesignon的功能。您用c#的方式簡單的網頁就可以了,不需要用asp方式的,asp是asp網站開啓eep網頁的方法,在您這裡其實不需要網頁的,所以在vs直接產生一個普通網站,直接測試singlesignon能取得publickey就可以了。

另外,說明一下,SinglesignOn其實是以某一個賬號用程式不可見的方式直接登錄的,都是需要賬號密碼的。所以您還需要想一下,編輯資料的話,您對是誰來編輯是否有要求,如果沒有要求,那直接用一個固定的賬號產生連接就可以。如果是有要求的,則連接產生只能在自己登錄網站的時候產生,因為eep系統除非您正常輸入登錄,否則沒辦法讀取到密碼。

12.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/20 上午 11:39:40

發表人來自:

202.154.209.240

您好:

謝謝!

我弄新的網站試試看!

不過請問 ,以下語法,只能在 JS作業?

若我不架網站,直接用C# CONSOLE 可行嗎?

謝謝!

 protected void Button1_Click(object sender, EventArgs e)

    {

        WebService service = new WebService();

//4個參數,依次為用戶編號,用戶密碼,資料庫別名,SolutionID

        string sKey = service.SingleSignOn("001", "", "    ERPS ", "Solution1");

//規則為前部分為發佈的路徑,加上/SingleSignOn.aspx?RedirectUrl=後面是要開啟的網頁,最後是&publickey=,後面是要上面取得的一個認證key

Response.Redirect("http://192.168.0.1/MyEEPWeb/SingleSignOn.aspx?RedirectUrl=MyWebs/W002.aspx&publickey=" + sKey);

    }

13.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/20 上午 11:53:10

發表人來自:

116.233.73.65

這個是aspx.cs的程式。
14.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/20 下午 01:40:02

發表人來自:

202.154.209.240

不好意思,看錯了

我現在新增一個 空的網站

新增 服務參考 info_sso

於 xx.aspx.cs中

加入  using 專案.info_sso;

1.CLICK事件中 

webService 說找不到; 所以我用 using System.Web.Services;

service.SingleSignO  卻無法用??

 WebService service = new WebService();

//4個參數,依次為用戶編號,用戶密碼,資料庫別名,SolutionID

        string sKey = service.SingleSignOn("001", "", "    ERPS ", "Solution1");

2.

 SingleSignOn service = new SingleSignOn();

也不能用;要變更

SingleSignOnSoap

SingleSignOnSoapClient

SingleSignOnSoapChannel

都試過也沒 SingleSignOn 的方法

15.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/20 下午 02:28:02

發表人來自:

116.233.73.65

RWD或者jq網站的話,用:

cs的程式,改為:

        SingleSignOn service = new SingleSignOn();
        //4個參數,依次為用戶編號,用戶密碼,資料庫別名,Solution的ID
        string sKey = service.LogOn("003", "", "ERPS", "Solution1");
        Page.Response.Write("<script>window.open('http://localhost:50315/SingleSignOn.aspx?publickey="
                    + HttpUtility.UrlEncode(sKey) + "&RedirectUrl=RWDMainFlowPage.aspx" + "')</script>");

注意,參數順序不要變動。

16.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/20 下午 02:38:06

發表人來自:

202.154.209.240

您好:圖片如附件!

17.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/20 下午 02:39:58

發表人來自:

202.154.209.240

我單純一般空的網站

如附件,用了  SingleSignOn service = new SingleSignOn();

也一樣。

18.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/20 下午 02:49:20

發表人來自:

116.233.73.65

我大概重新整理了一下文件,您再比對看一下。
19.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/20 下午 04:41:51

發表人來自:

202.154.209.240

您好:

感謝您!

不過要請教 

1.     string sKey = service.LogOn("003""XXX""ERPS""Solution1"); 

     密碼要打才有效

Solution1 是指?   我先用以下 網頁的前面路徑Q01

2.

Page.Response.Write("<script>location.href='http://localhost:50315/SingleSignOn.aspx?publickey="
            + HttpUtility.UrlEncode(sKey) + "&RedirectUrl=MainPage_flow.aspx'" + "</script>");

改為

 Page.Response.Write("<script>location.href='http://XX.com.tw/WEB01/SingleSignOn.aspx?publickey="
                + HttpUtility.UrlEncode(sKey) + "&RedirectUrl=Q01/Q01.aspx'" + "</script>");

點選按鈕,有連過去該網頁

但出現 

Server端資料模組 s_Q01未啟動!
Error Code is :1000

有關資料庫的下拉選單及資料,都沒有呈現

謝謝!

20.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/20 下午 04:47:01

發表人來自:

116.233.73.65

程式中是有給您寫註釋的,4個參數:

依次為用戶編號,用戶密碼,資料庫別名,SolutionID

21.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/20 下午 04:52:26

發表人來自:

116.233.73.65

您先開MainPage_flow.aspx試試,如果開啓其他網頁您先確認一下:

修改SingleSingeOn.aspx.cs,把:


if (System.IO.File.Exists(Server.MapPath(url))) {


這個if條件注釋,裡面的程式還是需要的。這個是檢驗網頁是否存在的,但會不允許帶參數。

22.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/20 下午 05:55:51

發表人來自:

202.154.209.240

您好:

實在 不知道 SolutionID 的意義及用途,上下文都沒有找到 的對應....

是指 系統別嗎?

我用 MainPage_flow.aspx, solutaion 使用Q01,他會秀出在系統別

2.我用  MainPage_flow.aspx 可正常登錄

那  SingleSingeOn.aspx.cs 是目的的網站 哪邊? 搜尋不到.....

麻煩了!

謝謝!

23.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

toby

發表日期:

2020/10/20 下午 09:08:50

發表人來自:

101.12.212.80

討論次數過多

請求支援

24.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/21 上午 08:19:20

發表人來自:

116.233.73.65

就是vs裡面的解決方案。在EEP中,solution用到的地方有很多。

下面兩個地方讀可以看到。

您附圖中的是solution的名字,在EEPManager中的【Solution Define】中定義的。

我說的SingleSingeOn.aspx.cs就是您EEP的網站JQWebClient下的文件。

25.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/21 上午 08:53:18

發表人來自:

202.154.209.240

您好:謝謝您,我找到了

改為
               // if (System.IO.File.Exists(Server.MapPath(url))) {
                    Response.Redirect(url);
               // }

直接放到 正式環境,

但一樣出現

Server端資料模組 s_Q01未啟動!
Error Code is :1000

----------------------

這要單獨重新build 嗎?

這一段要如何處理,才不會影響 現有系統?

謝謝!

26.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/21 上午 09:19:32

發表人來自:

202.154.209.240

剛有跟客服聯絡,我在測一下!
27.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

Lily

發表日期:

2020/10/21 上午 09:31:44

發表人來自:

116.233.73.65

出現這個錯誤,就是solution選擇的不對,這個是您公司開發的時候自己定義,需要自己看一下。EEPManager的【Solution Define】可以看到的。您執行看一下。
28.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

pascal

發表日期:

2020/10/22 下午 06:17:23

發表人來自:

202.154.209.240

您好:目前OK了,謝謝!
29.主題:Re:發送信件,讓USER 點連結自動連到對應的網頁

發表人名稱:

fzy

發表日期:

2020/10/23 下午 01:46:12

發表人來自:

116.233.73.65

結案