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

WCF RIA 服务 (三十)-- 身份验证、角色、个性化,第1张

概述  在Web应用中,我们经常会限制某些特定用户使用一些功能,并对每个用户保持性能。ASP.NET提供了身份验证、角色个性化实现这些功能。身份验证允 许我们核实用户的凭证并标记用户为已登录。角色允许我们根据职责来把用户分组,并对组中成员授予资源许可。个性化允许我们保持验证用户的属相并在web应 用中检索这些属性。 WCF RIA Services框架在表现层和中间层都提供这些功能。这节就介绍RIA

 

在Web应用中,我们经常会限制某些特定用户使用一些功能,并对每个用户保持性能。ASP.NET提供了身份验证、角色、个性化实现这些功能。身份验证允 许我们核实用户的凭证并标记用户为已登录。角色允许我们根据职责来把用户分组,并对组中成员授予资源许可。个性化允许我们保持验证用户的属相并在web应 用中检索这些属性。

WCF RIA Services框架在表现层和中间层都提供这些功能。这节就介绍RIA Services中的身份验证、角色、和个性化。

身份验证域服务
RIA Services提供身份验证域服务模板来简化在表示层中使用身份验证、角色和个性化。我们把验证域服务添加到服务端项目中。


当我们添加一个身份验证域服务时,RIA Services框架自动在服务端添加两个类。代表身份验证服务的类派生于AuthenticationBase(T)类。代表用户的类派生于 UserBase类。用户类为已经验证的用户包含个性化属性。
通过客户端代码,我们调用身份验证域服务来请求我们需要的验证、角色或个性化信息。

WebContext
当 我们添加一个身份验证域服务时,RIA Services自动在客户端生成一个WebContext类。这个类派生于WebContextBase类,并允许我们在客户端访问身份验证域服务和用 户。用Current属性来获取WebContext的当前实例。

身份验证
要想在RIA Services解决方案中使用身份验证,我们必须在服务端和客户端来配置验证。
通过在客户端使用WebContext,我们可以从 Silverlight应用程序同步登陆用户。当我们实施了身份验证时,我们通常会用到下面的方法和属性。
Authentication属性 (WebContext.Current.Authentication): 提供对身份验证服务的访问。
User属性 (WebContext.Current.User): 提供对包含用户状态的对象的访问。
Login(String,String)方法 (WebContext.Current.Authentication.Login(String,String):同步验证用户凭证。
logout(Boolean) 方法(WebContext.Current.Authentication.logout(boolean):同步登出一个已验证用户。

角 色
在我们实施了身份验证后,我们就可以配置我们的解决方案来使用角色功能。当我们实施角色功能时,通常会用到下面的属性和方 法。
WebContext.Current.User.Roles : 提供用户被赋予的角色的集合。
WebContext.Current.User.IsInRole(String) : 判断已验证用户是否是指定角色的成员。

个性化
要想使用个性化功能,我们必须为个性化功 能配置我们的解决方案。当我们实施了个性化功能时,通常会用到下面的属性和方法。
WebContext.Current.User : 包含所有我们已经添加到User类中的属性。例如,User.PhoneNumber。
LoadUser()方法 (WebContext.Current.Authentication.LoadUser()) : 刷新用户状态。
SaveUser(Boolean) 方法(WebContext.Current.Authentication.SaveUser(boolean)) : 把所有的更改保存到用户状态中。

在客户端处理身份验证错误
我们可以处理在登录、登出、装载或 保存用户时产生的错误。思路是通过在调用这些方法时提供回调参数。在回调方法中,我们添加处理错误的代码,并调用MarkErrorAsHandled方 法来指定framwork不要抛出异常。AuthenticationService类允许我们在调用下面的方法时提供回调参数。
-- LoadUser
-- Login
-- logout
-- SaveUser

限制对域服务的访 问 在我们实施了身份验证和角色功能后,我们就可以限制特定用户对域服务的访问。可以对整个域服务或服务中个别的 *** 作应用下面的 属性。如果我们对整个服务使用了属性,它会应用到所有的 *** 作。 - RequiresAuthenticationAttribute : 指定只有具有验证凭证的用户可以访问 *** 作。 - RequiresRoleAttribute : 指定只有属于特定角色的验证用户可以访问 *** 作。 我 们也可以创建自己的验证属性,更多相关信息可以看后面的章节。

总结

以上是内存溢出为你收集整理的WCF RIA 服务 (三十)-- 身份验证、角色、个性化全部内容,希望文章能够帮你解决WCF RIA 服务 (三十)-- 身份验证、角色、个性化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1034224.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存