需要在启动时登录Silverlight业务应用程序模板?

时间:2011-05-27 13:15:25

标签: silverlight authentication

我希望我的Silverlight商业模板应用程序要求用户登录才能访问任何页面(没有匿名用户)。

这似乎应该/将是一件简单的事情。

任何人

由于

注意:我对silverlight和业务模板很新,如果有一种“正常”的方式来锁定像我在.aspx(在web.config中)中使用的Silverlight应用程序那样也有帮助。

*几乎答案 *

我想我回答了自己的问题。

我在不希望匿名访问的页面上使用它。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (!WebContext.Current.User.IsAuthenticated)
    {
        LoginRegistrationWindow login = new LoginRegistrationWindow();
        login.Show();
        Uri uri = new Uri("/Home", UriKind.Relative);
        this.NavigationService.Navigate(uri);
    }
}

2 个答案:

答案 0 :(得分:2)

我在Mattias Fagerlund的编码博客上找到了这个很棒的3部分教程,它回答了我的所有问题以及一些额外的问题

需要登录的Silverlight页面 http://lotsacode.wordpress.com/2010/02/21/silverlight-pages-that-require-login-part-1/

答案 1 :(得分:0)

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (!WebContext.Current.User.IsAuthenticated)
    {
        LoginRegistrationWindow login = new LoginRegistrationWindow();
       DialogResult dlg= login.Show();
        if (dlg.Cancel)
        {
         Uri uri = new Uri("/Home", UriKind.Relative);
        this.NavigationService.Navigate(uri);
        }

    }
}

好的...使用了错误的垃圾,但我在家里并没有访问我的代码...

Views.LoginForm login = new Views.LoginForm();

                login.Closed += (s, e2) =>
                {
                    if (login.DialogResult == true)
                    {
                        ContentFrame.Content = null;
                        Views.PrimarySearchView view = new Views.PrimarySearchView();
                        ContentFrame.Content = view;
                        Wait.End();

                    }
                    else
                    {
                        ContentFrame.Content = null;
                    }
                };
                login.Show();

这假设LoginRegistrationWindow是ChildWindow

你应该能够从我的样本中获得它的要点。