Dip*_*pak 0 c# autologin xamarin.forms
我已经使用 Xamarin Studio 创建了我的第一个 Xamarin.Forms 应用程序。我的应用程序无法记住默认用户名,因此用户每次都必须登录应用程序,这很烦人。如果他/她尚未从应用程序注销,我如何存储最后一个用户凭据以自动登录?在PCL中可能吗?
方法一:
使用SettingsPlugin根据需要存储用户凭据。这将有助于从 PCL 访问您所有移动应用程序中的设置。
public static class Settings
{
private static ISettings AppSettings
{
get
{
return CrossSettings.Current;
}
}
//Setting Constants
const string UserName = "username";
private static readonly string UserNameDefault = string.Empty;
public static string UserName
{
get { return AppSettings.GetValueOrDefault<string>(UserName, UserNameDefault); }
set { AppSettings.AddOrUpdateValue<string>(UserName, value); }
}
const string Password = "password";
private static readonly string PasswordDefault = string.Empty;
public static string Password
{
get { return AppSettings.GetValueOrDefault<string>(Password, PasswordDefault); }
set { AppSettings.AddOrUpdateValue<string>(Password, value); }
}
}
Run Code Online (Sandbox Code Playgroud)
对于自动登录,创建一个空白页面作为启动画面页面。将其设置为:
Application.Current.MainPage = new MySplashScreen();
Run Code Online (Sandbox Code Playgroud)
在此页面的后面代码中:
public partial class MySplashScreen : ContentPage
{
public MySplashScreen()
{
InitializeComponent();
CheckForAutoLogin();
}
private async void CheckForAutoLogin()
{
if (Settings.UserName != string.Empty && Settings.Password != string.Empty)
{
//Redirect to you desired page
}
else
{
//Redirect to login page.
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以在上面的实现中,我创建了一个临时页面作为启动画面,只是为了检查登录凭据并相应地重定向到所需的页面。
因此,如果您使用此插件,则不建议以字符串格式存储类似密码的值。为此,您需要使用任何加密/解密算法,然后使用 Settings.Plugin 存储加密值。
方法二:
您可以使用Xamarin.Auth(跨平台 SDK)。这是一种存储凭证的安全方式。它是一个跨平台的 SDK,用于验证用户和存储他们的帐户。它可用于将Account对象安全地存储在帐户存储中,以便应用程序不必总是重新验证用户。
| 归档时间: |
|
| 查看次数: |
3116 次 |
| 最近记录: |