在基于Windows验证的Web应用程序中检索当前用户的所有角色
来源:互联网 发布:中文编程软件手机版 编辑:程序博客网 时间:2024/04/28 23:29
陈希章
原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/04/02/1427890.html原文标题:在基于Windows验证的Web应用程序中检索当前用户的所有角色
原文发表:2009/4/2 2:50:00
我们知道,ASP.NET的Web应用程序允许4种身份验证方式,分别是:Windows,Forms,Passport,None
如果我们采用的是默认的Windows验证方式,那么可以在最小的代价下实现安全的身份验证机制。事实上,我们不要为此编写任何代码,也不需要额外为用户保存凭据。与此同时,用户(一般情况下)也无需在使用应用程序的时候输入用户名和密码。
那么,如何在基于Windows验证的Web应用程序中检索当前用户的所有角色呢?下面是一个范例
这是页面代码
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Response.Write("当前用户名为:" + User.Identity.Name+"
");
foreach (string role in Roles.GetRolesForUser())
{
Response.Write("当前用户属于该角色:" + role+"
");
}
}
}
}
}
我们还需要设置web.config,让它可以知道使用什么样的角色管理提供程序查找角色。
cacheRolesInCookie="false">
name="WindowsProvider"
type="System.Web.Security.WindowsTokenRoleProvider" />
有关这个提供程序的详细信息,有兴趣的朋友可以参考下面的链接
http://msdn.microsoft.com/zh-tw/library/system.web.security.windowstokenroleprovider(VS.80).aspx
值得一提的是,这个Provider所返回的角色列表中包含了域组(全局组)和本地组
很显然,使用这个提供程序,是无法对用户所属的组进行操作的,例如常见的添加组,编辑组,删除组等等,这些都是必须通过windows本身来完成。
与角色管理相关的几个操作还有
1. 确认某个用户是否在某个角色中
Response.Write(Roles.IsUserInRole("BuiltIn//Administrators"));//这个写法还可以给定用户名进行判断
或者
Response.Write(User.IsInRole("BuiltIn//Administrators"));//这个写法只能判断当前用户
2. 得到某个角色的所有用户 –这也是做不到的
另外,如果想要得到Windows用户身份的更多信息,可以通过下面的方式
作者:陈希章
出处:http://blog.csdn.net/chen_xizhang
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- 在基于Windows验证的Web应用程序中检索当前用户的所有角色
- 基于角色的用户验证[翻译]
- 基于表单的web角色验证
- SQL Server中出现用户或角色在当前数据库已经存在的问题的解决
- sql server 2005 用户、组或角色在当前数据库中已存在的解决办法
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- Asp.net中基于Forms验证的角色验证授权
- SQL Server 2005 中的架构与用户
- .Net平台下开发中文语音应用程序 【转载】
- ASP.NET MVC 1.0 正式版发布
- SQL Server中的扩展属性
- 服务器控件编程中的控件状态保存机制
- 在基于Windows验证的Web应用程序中检索当前用户的所有角色
- 在Web应用程序中使用AD来进行成员管理
- 有关视图状态(ViewState)的一些问题
- 创建本地数据库时发生错误及其解决方案
- SQL Server中的统计信息
- 我的网站中的组织层次结构图信息与AD的同步问题
- MOSS的用户配置文件及其管理
- Moss 2007 LoadBalancer.RegisterLauncher 失敗 【转载】
- WSPBuilder