在mvc中进行身份验证并重定向到silverlight,如何访问经过身份验证的用户?

时间:2011-05-27 10:51:37

标签: c# asp.net asp.net-mvc silverlight forms-authentication

我是silverlight的新手,正在研究mvc中托管的silverlight应用程序。用户将登录aspx页面 / LogOn ,并将被重定向到silverlight应用程序或其他视图。要在silverlight中访问已登录的用户,请在mvc。

中添加身份验证服务

app.xaml.cs基于Enable authentication in RIA services

进行了修改
    public App()
    {
        this.Startup += this.Application_Startup;
        this.Exit += this.Application_Exit;
        this.UnhandledException += this.Application_UnhandledException;

        InitializeComponent();

        WebContext webcontext = new WebContext
                                    {
                                        Authentication = new FormsAuthentication()
                                    };
        this.ApplicationLifetimeObjects.Add(webcontext);
        WebContext.Current.Authentication.LoadUser().Completed += 
            (s, e) => MessageBox.Show(WebContext.Current.User.Name);
    }

此方法无效,因为消息框显示为空

1 个答案:

答案 0 :(得分:1)

您可以使用该属性创建WCF服务:

[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

这将允许访问用户身份中当前隐藏的内容。

    if(HttpContext.Current.User.Identity.IsAuthenticated)
    {
        return HttpContext.Current.User.Identity.Name;
    }

    else
    {
        return null;
    }