login方便了用户登录及权限的设置,但对于一个页面内某个控件要根据角色进行显示或不显示,用这个小技巧就很方便了。
在使用ASP.NET2.0的身份验证和授权时,有时候我们需要提供比页面更高一级的安全功能。传统的我们使用web.config里的deny或者allow来控制用户对某一个页面的访问,但是如果您使用 username为administrator password为aspx-net.com 登陆 http://www.aspx-net.com 您会发现随着您权限的不同,你可以对页面的全部或者局部进行更改,天天称呼这种安全为“页面的安全”,利用ASP.NET2.0很容易实现这个功能
这主要分为两步:
1)在后台代码定义一个bool类型的变量
bool IsAdmin=false;
然后在代码里,例如在用户登陆的Click事件里判断用户的身份:
IsAdmin = User.IsInRole("Administrators");
这段代码很简单,它会获取用户的角色,如果属于Administrators角色,则IsAdmin返回true,否则返回false。
2)在页面里利用IsAdmin控制控件的可见性
示意代码如下:
<asp:Button ID="btnDelete" Text="删除" runat="server" Visible='<%#IsAdmin %>'>
在这段代码,如果如果用户属于Administrators角色,则IsAdmin返回true,这样“管理员”就可以看见“删除”,否则返回false就表示当前用户无法删除次纪录。
希望这个小技巧对大家有用