这是一种在Google App Engine中处理访问权限的安全方式吗?

时间:2011-03-22 10:19:59

标签: security google-app-engine login

我想让几个人访问我的谷歌应用程序。我可以假设他们正在使用gmail,这是一个安全的程序吗?

我将他们的Gmail添加到数据库中。然后我像这样提取他们的电子邮件并检查它是否存在于数据库中:

UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
String email = user.getEmail();
//check if email is in database

当然我处理他们没有登录的情况,我知道我的应用程序可能在我的代码的其他部分容易受到攻击。但这部分安全吗?

干杯,

2 个答案:

答案 0 :(得分:2)

使用user.getUserId()而不是getEmail()。用户可以更改他们的电子邮件地址,但UserID保持不变。

答案 1 :(得分:1)

是的,这没关系 - 您可以信任UserService返回的电子邮件地址是准确的 - 只有该帐户的所有者才能进行身份验证并返回该值。正如Fabrizio所说,如果可以,您应该存储用户ID而不是电子邮件,这样您就可以对用户更改其电子邮件地址表现出色。