RIA服务:自定义授权

时间:2010-03-26 14:51:07

标签: asp.net silverlight authentication authorization ria

以下是如何为RIA服务创建自定义自动化的一个很好的示例: RIA Services: How can I create custom authentication?

在我的情况下,silverlight页面将作为HTML内容的一部分显示,并且用户授权已在服务器端实现(不使用ASP.NET成员资格)。需要在silverlight页面上显示授权和非授权用户的不同信息。

如果用户已经在服务器端(在通常的ASP.NET网站上)获得授权,是否有可能在Silverlight端跟踪?

请提供如何操作。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

有几种方法:

  1. 最简单:如果身份验证导致重新加载页面(因此导致所有Silverlight应用程序),您可以通过<param name="IsAuthenticated" value="<%= IsAuthenticated %>" />标记向Silverlight应用程序发送“IsAuthenticated”参数值应用的<object>标记(在加载HTML中),或通过InitParameters对象的asp:Silverlight方法,无论您使用哪个;该参数对于发送给应用程序InitParams事件处理程序的StartupEventArgs Startup成员中的SL应用程序可见。

  2. 更复杂:创建一个WCF HTTP Web服务(即Silverlight可以看到的服务),其中包含一个返回用户当前身份验证状态的方法。

  3. 当然,这只会告诉SL应用程序用户是否经过身份验证,并且无法锁定您发送给应用程序的任何信息 - 换句话说,服务器仍应检查“仅经过身份验证的” “信息仅返回到在经过身份验证的浏览器会话中运行的SL应用程序的请求。 (假设信息与身份验证有关。如果只是一组不同的横幅广告,那么没什么大不了的。)