4、注销用户
1
FormsAuthentication.SignOut();//注销用户
2
Roles.DeleteCookie();//清除cookie
3
FormsAuthentication.RedirectToLoginPage();//注销后转回到登陆页
4

2

3

4

5、删除用户
1
string username =”用户名”;
2
Membership.DeleteUser(username);
3
FormsAuthentication.RedirectToLoginPage();//注销后转回到登陆页
4

2

3

4

6、修改用户信息
1
MembershipUser MU = Membership.GetUser ();
2
MU.Email = "axzxs2002@163.com";
3
Membership.UpdateUser(MU);

2

3

7、修改密码
1
if (Membership.GetUser().ChangePassword(OldTextBox.Text, newTextBox.Text))
2
{
3
4
Response.Write("更改用户密码成功!");
5
}
6
else
7
{
8
Response.Write("更改用户密码失败!");
9
}
10
11

2

3

4

5

6

7

8

9

10

11

8、修改密码问题
1
if (Membership.GetUser().ChangePasswordQuestionAndAnswer(PassWordTB.Text, this.OldQuesTB.Text, NewQuesTB.Text))
2
{
3
Response.Write("更改提问问题成功!");
4
}
5
else
6
{
7
Response.Write("更改提问问题失败!");
8
}
9

2

3

4

5

6

7

8

9

9、获取所有用户信息
1
Response.Write("当前用户:" + Page.User.Identity.Name + "<br >");
2
DataTable DT=new DataTable ();
3
DT.Columns.Add("用户名 ", typeof(string));
4
DT.Columns.Add("创建时间",typeof(string));
5
DT.Columns.Add("Email", typeof(string));
6
DT.Columns.Add("是否在线", typeof(string));
7
DT.Columns.Add("问题", typeof(string));
8
DT.Columns.Add("角色",typeof(string));
9
foreach (MembershipUser MU in Membership.GetAllUsers())
10
{
11
string js = "";
12
string[] jsArr = Roles.GetRolesForUser(MU.UserName);
13
foreach (string jss in jsArr)
14
{
15
js += jss +" ";
16
}
17
DT.Rows.Add(MU.UserName, MU.CreationDate, MU.Email, MU.IsOnline, MU.PasswordQuestion, js);
18
}
19
GridView1.DataSource = DT;
20
GridView1.DataBind();
21

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

10、获取所有角色
1
string[] roseArr= Roles.GetAllRoles();
2
GridView2.DataSource = roseArr;
3
GridView2.DataBind();

2

3

11、创建角色
1
try
2
{
3
Roles.CreateRole(RoseTextBox.Text);
4
}
5
catch (Exception me)
6
{
7
Response.Write(me.Message);
8
}

2

3

4

5

6

7

8

12、给用户分配角色
1
try
2
{
3
Roles.AddUserToRole(usernameTB.Text ,RolseTB.Text);
4
}
5
catch (Exception me)
6
{
7
Response.Write(me.Message);
8
}
9

2

3

4

5

6

7

8

9

13、获取角色下的用户
把角色对应的用户加载到树形菜单中
1
TreeView1.Nodes.Clear();
2
string[] rolesArr= Roles.GetAllRoles();
3
foreach (string ro in rolesArr)
4
{
5
TreeNode TN = new TreeNode(ro);
6
TreeView1.Nodes.Add(TN);
7
}
8
for (int i=0;i<TreeView1.Nodes.Count ;i++)
9
{
10
string[] yh= Roles.GetUsersInRole (TreeView1.Nodes[i].Text );
11
foreach (string s in yh)
12
{
13
TreeNode TTN = new TreeNode(s);
14
TreeView1.Nodes[i].ChildNodes.Add(TTN);
15
}
16
}
17

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

现在有了用户和角色,用户和角色也能关联上了,但权限怎么办呢?角色对应的权限怎么来实现呢?权限的设置要在web.config中的验证段落来配置。比如下面的设置,是设置了只有收银员这个角色才能进入系统,其他用户都是不可以的。
1
<authentication mode="Forms">
2
</authentication>
3
<authorization >
4
<allow roles="收银员" />
5
<deny users="*" />
6
</authorization>
7

2

3

4

5

6

7

在权限这块,常出现的问题是一种角色,对应着一种访问权限,即一种角色具有相同的访问某些页面,这个怎么实现呢?这里可以通过配置相应的验证来实现,比如下页的实例:
1
<location path="register.aspx" allowOverride="true" >
2
<system.web>
3
<authorization >
4
<allow users="?" />
5
</authorization>
6
</system.web>
7
</location>
8

2

3

4

5

6

7

8

这段是配置了所有用户和角色都是可以访问register.aspx页面的。