作者rainarale (小雨)
看板Visual_Basic
标题[.NET] (asp.net 1.0)不同使用者 可用同一台电脑登入
时间Sun Sep 10 18:30:34 2006
想要像许多网站一样,不同使用者 可用同一台电脑登入
ex:电脑主人本来有勾"记住帐号"
登出後重新登入时,帐号输入栏会去cookie抓主人的帐号,只要输入密码即可
但其它人还是可以改以自己的帐号密码登入
目前情形:
一开始用帐号A并勾选"记住帐号"登入
登出後,改用B登入
但是按登入後,输入帐号的地方又变回了A 且显示帐号密码错误的讯息
我以为是cookie的问题
所以设 若输入的帐号不同於前一个 就把前一个帐号的cookie清除
但试了好几种方法都不行
一定要手动去IE→工具 清除cookie才能以别的帐号登入
但就不符合原本的需求
烦请解惑,感恩
以下为程式码:)
1 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
2
'在这里放置使用者程式码以初始化网页
3
4
'清除登入资讯
5 LoginObject.LoginClean(Me)
6
7
' "记住帐号"功能
8 Dim RememberMe As HttpCookie
9 RememberMe = Request.Cookies("account")
10 If Not RememberMe Is Nothing Then
'若之前有勾选"记住帐号",则只要输入密码就好
11 inputid.Text = Request.Cookies("account").Value
12 End If
13
14 End Sub
15
16 Private Sub btnlogin_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnlogin.Click
17
18 Dim older As String = Request.Cookies("account").Value
'去cookie取出帐号
19 If Me.inputid.Text <> older Then
'若後来输入别的帐号登入,则把cookie内的
帐号清掉,但以下四种写法都无法清掉>"<
20 'Response.Cookies("account").Expires = Nothing
21 'Response.Cookies("account").Expires = DateTime.Now.AddDays(-1)
22 'Response.Cookies.Clear()
23 'Response.Cookies.Remove("account")
24 End If
25
26 If rememberID.Checked Then
'若勾选"记住帐号"并登入,就把相关资讯写入cookie
,下次登入只要输入密码就好
27 Response.Cookies("account").Value = inputid.Text
28 Response.Cookies("account").Expires = "12/31/2999"
29 End If
30
'呼叫登入程序
31 If Page.IsValid Then
32
''''''四个引数分别为 使用者的id、pwd、身分别(一般/厂商会员)、此webform
33 If LoginObject.Login(Me.inputid.Text, Me.inputpwd.Text,
MorF.SelectedItem.Value, Me) = False Then
34
'如果登入失败,则显示讯息,请使用者重新登入
35 Response.Write("<Script language='Javascript'>alert('帐号或密码有
误,请重新输入并确认身份选择')</Script>")
36 End If
37 End If
38 End Sub
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.228.101.63