快速业务通道

ASP.NET基于角色的窗体安全认证机制

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
(),它的参数是一个字符串,这个字符串就是要验证的用户角色。如果我们要显示内容给角色是 "Administrator"的已登录用户,我们可以在 Page_Load 中添加下面代码:

程序代码

if (User.IsInRole("Administrator"))

AdminLink.Visible = true;

整个的页面代码如下(为了简便,把后台代码也写在aspx页面):

程序代码

<html>
<head>
<title>欢迎您!</title>
<script runat="server">
protected void Page_Load(Object sender, EventArgs e)
{
if (User.IsInRole("Administrator"))
AdminLink.Visible = true;
else
AdminLink.Visible = false;
}
</script>
</head>
<body>
<h2>欢迎!</h2>
<p>欢迎来到阿木小屋 http://amuhouse.com/ ^_^</p>
<asp:HyperLink id="AdminLink" runat="server"
Text="管理首页" NavigateUrl="./Admin"/>
</body>
</html>

这样,链接到 Admin 目录的HyperLink 控件只会显示给角色是 Administrator 的用户。你也可以根据为未登录用户提供一个链接到登录页面,如:

程序代码

protected void Page_Load(object sender, System.EventArgs e)
{
if (User.IsInRole("Administrator"))
{
AdminLink.Text = "管理员请进";
AdminLink.NavigateUrl="./Admin";
}
else if(User.IsInRole("User"))
{
AdminLink.Text = "注册用户请进";
AdminLink.NavigateUrl="./User";
}
else
{
AdminLink.Text = "请登录";
AdminLink.NavigateUrl="Login.aspx?ReturnUrl=" + Request.Path;
}
}

这里,我们通过设置叫做ReturnUrl的 QueryString 变量,可以使用户登录成功后返回到当前的这个页面.

小结:

本文用于帮助你理解基于角色安全机制的重要性、实用性,并且也用 ASP.NET 实现了基于角色的安全机制。它并不是一个很难实现的机制,不过它可能需要一些相关知识如 什么是用户凭证,如何认证用户身份,以及如何审定授权用户。如果你觉得它很有帮助,我会非常高兴。我希望它可以引导你在你的网站中去实现基于角色的窗体安全认证机制。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号