WP7:在启动时检查用户凭据并加载不同的视图?

时间:2012-07-21 12:52:39

标签: windows-phone-7 windows-phone-7.1

任何人都可以提供帮助。我创建了一个小型WP7,它的工作方式与我想要的一样。

它始终要求用户输入用户名和密码,我还有一个名为“记住设置”的按钮,如果在下次加载应用程序时选中此项,我希望它自动登录,因此用户将没有看到登录屏幕,它将绕过此视图并加载另一个。

我需要一些方法来加载1 xaml是用户凭据不存在或无效而另一个是主应用程序xaml,如果凭证存在且有效。

似乎页面的加载是在显示中硬编码的。如您所见,我正在加载我的LoginPage。

<Tasks>
  <DefaultTask  Name ="_default" NavigationPage="LoginPage.xaml"/>
</Tasks>

那么我最好的方法是什么,我想改变创建xaml(entance文件),我可以检查我的VIEWMODEL的构造函数,如果凭据存在等,然后导航到另一个页面。但这感觉就像代码味道..

任何人都可以提供有关实现此目标的最佳方法的建议或示例。

我实际上是在使用MVVM Light,但事情应该差不多了?

提前致谢

2 个答案:

答案 0 :(得分:2)

您可以将用户凭据存储在Windows Phone 7的ISOLATED STORAGE中。一旦用户检查记住设置或凭据复选框,您就可以将这些设置保存在独立存储中。下次您的应用程序启动并假设您的默认页面是“MainPage.XAML”。然后在此页面OnPageNavigated事件检查用户设置。如果设置然后在其他视图上重定向到用户(记录视图)。否则用户将在MainPage.xaml上。和注销按钮,您可以清除这些设置..

以下是隔离存储的好示例。

http://msdn.microsoft.com/en-us/library/ff769510%28v=vs.92%29.aspx

http://go.microsoft.com/fwlink/?LinkID=229120(示例代码)

http://www.windowsphonegeek.com/tips/all-about-wp7-isolated-storage--intro-to-isolated-storage

希望这会对你有所帮助。 :)

答案 1 :(得分:0)

尝试存储用户名,密码,authtokens或在设置中检查身份验证所需的任何其他值。

在打开登录页面时,请从OnNavigatedTo方法中的设置中检查令牌的值。如果它不为空,则表示用户已登录,然后您可以将其重定向到主屏幕,否则显示登录页面并要求他输入凭据。

另外,请不要忘记在app退出时保存设置。请查看以下链接以获取进一步的帮助

http://msdn.microsoft.com/en-us/library/ff769510(v=VS.92).aspx

在注销时,清除设置页面中的标记