WCF RIA 服务 (三十四)-- 身份验证、角色、个性化 5

本文介绍了如何在WCFRIAServices框架下创建并应用自定义验证属性,以实现更灵活的身份验证逻辑,通过实例展示了如何创建一个派生于AuthorizationAttribute的类,并重载Authorize方法来检查用户角色和用户名字的第一个字母。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何:创建自定义验证属性

WCF RIA Services框架提供了RequiresAuthenticationAttribute和RequiresRoleAttribute属性。这两个属性使我们很方便地指定哪个域操作是仅仅对验证用户或特定角色成员可用的。除了这两个属性,我们可以创建自制验证逻辑属性并对域操作应用这个属性。
这章我们演示如何为身份验证添加自制属性。我们通过创建一个派生于AuthorizationAttribute的类并重载Authorize方法用来提供我们自定义的逻辑,来创建一个自制验证属性。

   1.  在服务端项目中,创建派生于AuthorizationAttribute的类。
   2.  重载Authorize方法,并添加判断是否授权的逻辑。下面的例子演示一个名为CheckAttendeeName的定制属性,来检测用户的角色和用户名字的第一个字母。

ExpandedBlockStart.gif 代码
 1  public   class  CheckAttendeeNameAttribute : System.Web.DomainServices.AuthorizationAttribute   
 2  {   
 3       public   override   bool  Authorize(System.Security.Principal.IPrincipal principal)   
 4      {   
 5           if  (principal.IsInRole( " Attendee " &&  principal.Identity.Name.StartsWith( " A " ))   
 6          {   
 7               return   true ;   
 8          }   
 9           else   
10          {   
11               return   false ;   
12          }   
13      }   
14  }

 

   3.  要执行自定义的验证逻辑,对域操作应用这个自定义的验证属性。

1  [CheckAttendeeName()]   
2  public  IQueryable < course >  GetCourses()   
3  {   
4       return   this .ObjectContext.Courses;   
5  }

 

 

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/blackant2/archive/2010/04/09/5465685.aspx

转载于:https://www.cnblogs.com/e_trock/archive/2010/06/05/1752271.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值