小心Roles命名空间下的东东们

我的天!

我用一个textbox输入用户名,一个DropDownList输入Role名,输入一个不存在的用户名,确认!

执行Roles.AddUserToRole()方法。

大家猜猜会怎么样?

Roles.AddUserToRole()报错?

不要异想天开了,不可能的,通过了,而且成功!

表面现象?

不是吧!打开数据库!

我的天,微软让我不得不叫了!

aspnet_Users
aspnet_UsersInRoles

加入了相应的记录。

我倒!

没有办法,看看帮助文件,查查AddUserToRole方法的资料。它并不返回任何值。也就是如果输入的两个值都是string就通过。

看来我们都要小心使用这个了。

我采取了以下的方法解决这个问题。

 1          try
 2          {
 3            if (Membership.FindUsersByName(TextBox1.Text.ToString()).Count == 1)
 4            {
 5                Roles.AddUserToRole(TextBox1.Text.ToString(), DropDownList1.SelectedItem.Value.ToString());
 6                Error1.Text = "成功!";
 7            }

 8            else
 9            {
10                Error1.Text = "失败!";
11            }

12        }

13          catch
14          {
15            Error1.Text = "失败!";
16        }

不知道大家还有没有其他的办法。

你可能感兴趣的:(roles)