我希望我的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);
}
}
答案 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
你应该能够从我的样本中获得它的要点。