如何:创建自定义验证属性
WCF RIA Services框架提供了RequiresAuthenticationAttribute和RequiresRoleAttribute属性。这两个属性使我们很方便地指定哪个域 *** 作是仅仅对验证用户或特定角色成员可用的。除了这两个属性,我们可以创建自制验证逻辑属性并对域 *** 作应用这个属性。
这章我们演示如何为身份验证添加自制属性。我们通过创建一个派生于AuthorizationAttribute的类并重载Authorize方法用来提供我们自定义的逻辑,来创建一个自制验证属性。
1. 在服务端项目中,创建派生于AuthorizationAttribute的类。
2. 重载Authorize方法,并添加判断是否授权的逻辑。下面的例子演示一个名为CheckAttendeename的定制属性,来检测用户的角色和用户名字的第一个字母。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public class CheckAttendeeNameattribute : System.Web.domainservices.AuthorizationAttribute { public overrIDe bool Authorize(System.Security.Principal.IPrincipal principal) { if (principal.IsInRole( "Attendee" ) && principal.IDentity.name.StartsWith( "A" )) { return true ; } else { return false ; } } } |
3. 要执行自定义的验证逻辑,对域 *** 作应用这个自定义的验证属性。
1 2 3 4 5 6 7 | [CheckAttendeename()] public Iqueryable<COURSE> GetCourses() { return this .ObjectContext.Courses; } |
以上是内存溢出为你收集整理的Silverlight WCF RIA服务(三十四)身份验证、角色、个性化 5全部内容,希望文章能够帮你解决Silverlight WCF RIA服务(三十四)身份验证、角色、个性化 5所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)