Usuário com melhor resposta
Login

Pergunta
-
Bom dia a Todos, tenho um metodo na MainPage que carrega meus menus. Gostaria de fazer com que ele so executasse depois do login. Como devo fazer isso?
Obrigado.public void CarregarMenu() { //Verifica se o Usuário Está Conectado. if (WebContext.Current.User.IsAuthenticated) { var menus = context.Load(context.GetMenuQuery()); treeView1.ItemsSource = menus.Entities; treeView1.LoadOnDemand += treeView1_LoadOnDemand; treeView1.ItemPrepared += treeView1_ItemPrepared; } }
Respostas
-
public partial class MainPage : UserControl
{
private readonly AuthenticationService authService = WebContext.Current.Authentication;
private void btnAutenticar_Click(object sender, RoutedEventArgs e)
{
string usuario = txtboxUsuario.Text;
string senha = txtboxSenha.Password;
LoginOperation loginOperation = WebContext.Current.Authentication.Login(usuario, senha);
loginOperation.Completed += new EventHandler(loginOperation_Completed);
}
private void loginOperation_Completed(object sender, EventArgs e)
{
LoginOperation op = sender as LoginOperation;
try
{
if (!op.LoginSuccess)
{
ErrorWindow.CreateNew(op.Error);
op.MarkErrorAsHandled();
}
else
{
CarregarMenu(); // Seu método
}
}
catch (Exception)
{
MessageBox.Show("Erro no Login");
}
}
}
http://blogs.msdn.com/b/kylemc/archive/2010/05/03/authorization-sample-101.aspx Da uma olhada nesse link depois, pode ser util.
- Editado Fabricio C. Frontarolli terça-feira, 24 de maio de 2011 19:01 Identação no Código
- Marcado como Resposta Jether Netto terça-feira, 24 de maio de 2011 19:26
Todas as Respostas
-
public partial class MainPage : UserControl
{
private readonly AuthenticationService authService = WebContext.Current.Authentication;
private void btnAutenticar_Click(object sender, RoutedEventArgs e)
{
string usuario = txtboxUsuario.Text;
string senha = txtboxSenha.Password;
LoginOperation loginOperation = WebContext.Current.Authentication.Login(usuario, senha);
loginOperation.Completed += new EventHandler(loginOperation_Completed);
}
private void loginOperation_Completed(object sender, EventArgs e)
{
LoginOperation op = sender as LoginOperation;
try
{
if (!op.LoginSuccess)
{
ErrorWindow.CreateNew(op.Error);
op.MarkErrorAsHandled();
}
else
{
CarregarMenu(); // Seu método
}
}
catch (Exception)
{
MessageBox.Show("Erro no Login");
}
}
}
http://blogs.msdn.com/b/kylemc/archive/2010/05/03/authorization-sample-101.aspx Da uma olhada nesse link depois, pode ser util.
- Editado Fabricio C. Frontarolli terça-feira, 24 de maio de 2011 19:01 Identação no Código
- Marcado como Resposta Jether Netto terça-feira, 24 de maio de 2011 19:26
-
Obrigado pela Ajuda.
Pode ser Assim também.
public MainPage() { InitializeComponent(); this.loginContainer.Child = new LoginStatus(); this.dockPnl.Visibility = System.Windows.Visibility.Collapsed; //Carlos, aqui verifico se o usuário está logado. WebContext.Current.Authentication.LoggedIn += (se, ev) => { if (dockPnl.Visibility == System.Windows.Visibility.Collapsed) { dockPnl.Visibility = System.Windows.Visibility.Visible; } this.CarregarMenu(); }; WebContext.Current.Authentication.LoggedOut += (se, ev) => { this.dockPnl.Visibility = System.Windows.Visibility.Collapsed; tabAcoes.Items.Clear(); }; }
-
Obrigado pela Ajuda.
Pode ser Assim também.
public MainPage() { InitializeComponent(); this.loginContainer.Child = new LoginStatus(); this.dockPnl.Visibility = System.Windows.Visibility.Collapsed; //Carlos, aqui verifico se o usuário está logado. WebContext.Current.Authentication.LoggedIn += (se, ev) => { if (dockPnl.Visibility == System.Windows.Visibility.Collapsed) { dockPnl.Visibility = System.Windows.Visibility.Visible; } this.CarregarMenu(); }; WebContext.Current.Authentication.LoggedOut += (se, ev) => { this.dockPnl.Visibility = System.Windows.Visibility.Collapsed; tabAcoes.Items.Clear(); }; }
Boa noite JetherEsta linha "this.loginContainer.Child = new LoginForm()" está gerando um erro. Este "loginContainer" deve ser adicionado ao projeto? Estou começando agora com Silverligth.
-
-