登陆按钮的处理
asp.net应用程序首先碰到的是用户登录处理,按下登陆按钮时需要关闭本页面,打开一个没有地址栏菜单栏、工具栏的新窗口,我的处理方法如下(只能在IE下使用,这方法本人并不喜欢,可老板喜欢,局域网下使用,安全系数并不要很高,防君子就可以了,用户的个性菜单是存放在一个以用户ID命名的xml文件的)
1
private void btOK_Click(object sender, System.EventArgs e)
2
{
3
string s ="<script language = JavaScript>";
4
if (Page.IsValid)
5
{
6
string userId = tbUser.Text; //加密口令
7
CryptMethod cr = new CryptMethod();
8
string cryptpass = cr.Encrypto(tbPass.Text);
9
bool success = Account.SignIn(userId,cryptpass); //判断用户名和口令
10
string filename = Server.MapPath(XML_FILE+userId+".xml");
11
if(!File.Exists(filename)) //判断用户配置文件
12
{
13
14
lbError.Text ="没有用户配置文件";
15
return ;
16
}
17
18
if (success) //口令正确
19
{
20
if (FormsAuthentication.GetRedirectUrl(userId, false).EndsWith(URL_DEFAULT))
21
{
22
FormsAuthentication.SetAuthCookie(userId, false);
23
24
s += "window.opener=null;" + System.Environment.NewLine;
25
s += "window.close();" + System.Environment.NewLine;
26
if (chkPassword.Checked)//进入修改口令界面
27
{
28
s +="window.open('/PressMange/UserControl/UserChangePassPerson.aspx');"+System.Environment.NewLine;
29
}
30
else //进入主界面
31
s += "window.open('main.aspx','dialog','left=0,top=0,height=710,width=1010,resizable=1,status=0,scrollbars=0');"+System.Environment.NewLine;
32
33
s+="</script>";
34
35
RegisterClientScriptBlock("script",s);
36
37
}
38
else
39
{
40
41
FormsAuthentication.RedirectFromLoginPage(userId, false);
42
}
43
}
44
else
45
{
46
lbError.Text ="非法登陆";
47
}
48
}
49
50
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50
