代码之家  ›  专栏  ›  技术社区  ›  Budda

RIA服务:自定义自动化

  •  0
  • Budda  · 技术社区  · 15 年前

    下面是一个如何为RIA服务创建自定义自动调整的好例子: RIA Services: How can I create custom authentication?

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

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

    请告诉我怎么做。

    提前谢谢你。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Ben M    15 年前

    有几种方法:

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

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

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