R Riantwin Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-16 #1 我用ASP设计登陆程序(输入用户名和密码),进入之后运行intraweb设计的 ISAPI程序,如何在ISAPI中读取ASP的登陆信息?假如禁止了cookie, 如何取得session值?
X xzh2000 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-16 #2 例如有这样一个URL地址: http://www.SomePlace.com/SomeApplicationName?value1=Dog&value2=Cat 而想着在IntraWeb中取得这些参数的值,要如何实现呢? 可以按以下的思路: procedure TIndex.IWAppFormCreate(Sender: TObject); var ValueString1, ValueString2: string; begin ValueString1 := WebApplication.RunParams.Values[ 'value1' ]; ValueString2 := WebApplication.RunParams.Values[ 'value2' ]; end; 是不是你要的?
例如有这样一个URL地址: http://www.SomePlace.com/SomeApplicationName?value1=Dog&value2=Cat 而想着在IntraWeb中取得这些参数的值,要如何实现呢? 可以按以下的思路: procedure TIndex.IWAppFormCreate(Sender: TObject); var ValueString1, ValueString2: string; begin ValueString1 := WebApplication.RunParams.Values[ 'value1' ]; ValueString2 := WebApplication.RunParams.Values[ 'value2' ]; end; 是不是你要的?
Y yeskert1 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-16 #3 to Riantwin: intraweb不可能访问asp的session; 你可以象xzh2000说的那样传参数。 to xzh2000: 1 你的思路是对的,但是代码不能写在IWAppFormCreat事件里,应该写在onNewsession 里。因为一旦代码执行到IWAppFormCreat事件,那么IWAppForm必然显示,你想判断用 户合法之后显示别的页面是不可能的。 2 另外,参数会在客户端显示,你必须将它们去掉。
to Riantwin: intraweb不可能访问asp的session; 你可以象xzh2000说的那样传参数。 to xzh2000: 1 你的思路是对的,但是代码不能写在IWAppFormCreat事件里,应该写在onNewsession 里。因为一旦代码执行到IWAppFormCreat事件,那么IWAppForm必然显示,你想判断用 户合法之后显示别的页面是不可能的。 2 另外,参数会在客户端显示,你必须将它们去掉。
R Riantwin Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-16 #4 谢谢xzh2000,你提供了一个很好的思路。 我的想法是这样的:首先通过login.asp登陆,并将username、password保存在cookie中。 登陆成功之后,然后允许点击链接打开intraweb写的ISAPI。由于在ISAPI中需要判断该usernamse 是否存在,所以还要取得username。 yeskert1说得对,intraweb不可能访问asp的session。所以我想通过保存在cookie中的值来 取得username和password。我不知道在不关闭IE的情况下,cookie是否继续存在,如果存在 我接着用WebApplication.Request.cookieField.values['username']取得username的值, 不知道这种想法是否可行,但我取出的username总是为空值。 请yeskert和各位高手指点,谢谢!
谢谢xzh2000,你提供了一个很好的思路。 我的想法是这样的:首先通过login.asp登陆,并将username、password保存在cookie中。 登陆成功之后,然后允许点击链接打开intraweb写的ISAPI。由于在ISAPI中需要判断该usernamse 是否存在,所以还要取得username。 yeskert1说得对,intraweb不可能访问asp的session。所以我想通过保存在cookie中的值来 取得username和password。我不知道在不关闭IE的情况下,cookie是否继续存在,如果存在 我接着用WebApplication.Request.cookieField.values['username']取得username的值, 不知道这种想法是否可行,但我取出的username总是为空值。 请yeskert和各位高手指点,谢谢!
R Riantwin Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-19 #5 ISAPI能否从Login.asp中取得username、password的session值? 急盼yeskert和各位高手指点,谢谢!
D djzxljb Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-19 #6 我认为可以利用webapplication.request.queryField 或request.query获取
R Riantwin Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-19 #7 intarweb中,用以下方法均无法获得session值 WebApplication.Request.ContentFields.Values['username']; WebApplication.Request.CookieFields.Values['username']; WebApplication.Request.QueryFields.Values['username']; 请问如何读取ASP中的session值?
intarweb中,用以下方法均无法获得session值 WebApplication.Request.ContentFields.Values['username']; WebApplication.Request.CookieFields.Values['username']; WebApplication.Request.QueryFields.Values['username']; 请问如何读取ASP中的session值?
R Riantwin Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-19 #8 请xzh2000和yeskert1两位,能详细说说你们的实现方法吗? 假如URL地址是http://www.SomePlace.com/Login.asp,登陆成功后,链接 http://www.SomePlace.com/mydll.dll/start 如何传递参数,如何隐含参数?
请xzh2000和yeskert1两位,能详细说说你们的实现方法吗? 假如URL地址是http://www.SomePlace.com/Login.asp,登陆成功后,链接 http://www.SomePlace.com/mydll.dll/start 如何传递参数,如何隐含参数?
Y yeskert1 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-19 #9 to Riantwin: 请到 http://www.delphibbs.com/keylife/iblog_addblog.asp 看一看
X xzh2000 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-21 #12 to yeskert1: 看了你的思路,不过我不喜欢使用jscript,就写了一段代码将userid与password 进行编码,然后解码,一样看不出来。
R Riantwin Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-22 #13 to yeskert1 谢谢!参数传递的问题解决了,可是隐含username和password效果不是很好。我是这样传递参数的 http://www.SomePlace.com/mydll.dll/start?username=<%=session("username")%>&Password=<%=session("password")%> 在打开的时候就会看到username和password,请问有什么好方法?
to yeskert1 谢谢!参数传递的问题解决了,可是隐含username和password效果不是很好。我是这样传递参数的 http://www.SomePlace.com/mydll.dll/start?username=<%=session("username")%>&Password=<%=session("password")%> 在打开的时候就会看到username和password,请问有什么好方法?
Y yeskert1 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-22 #14 to Riantwin 我的方法在我的笔记里有,你已经看过了。 别的方法暂时没有。
W wolf1860 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-22 #15 新建一个IntraWebApplication 之后,在ServerController 中向导会自动生成如下的语句: TUserSession = class public end; 在此处你就可以添加自己的用户个人信息,比如用户名,口令,以及权限管理等属性,比如在Login 里面,如 果通过了口令字验证,就可以添加下列语句: UserSession.UserName:=trim(edtUser.text); UserSession.UserPass:=Trim(edtPass.Text); UserSession 可以在程序的整个过程中维持,可以写数据库或者文件中,什么时候想用拿来使就可以,相当方便, 而且远比Cookie 要安全得多。
新建一个IntraWebApplication 之后,在ServerController 中向导会自动生成如下的语句: TUserSession = class public end; 在此处你就可以添加自己的用户个人信息,比如用户名,口令,以及权限管理等属性,比如在Login 里面,如 果通过了口令字验证,就可以添加下列语句: UserSession.UserName:=trim(edtUser.text); UserSession.UserPass:=Trim(edtPass.Text); UserSession 可以在程序的整个过程中维持,可以写数据库或者文件中,什么时候想用拿来使就可以,相当方便, 而且远比Cookie 要安全得多。
X xzh2000 Unregistered / Unconfirmed GUEST, unregistred user! 2003-05-22 #16 楼主,加密你的password不就可以啦。 惨了,我有时可以运行调试程序,有时不行啦,估计是IE的问题, 但我以前的IW程序运行就没有问题。