Parse platform 如何基于Parse user type属性授予特定用户查看视图的权限?

Parse platform 如何基于Parse user type属性授予特定用户查看视图的权限?,parse-platform,Parse Platform,假设我有两种类型的用户:学生和讲师。例如,我如何才能只允许讲师访问与学生不同的观点 ObjectID UserName Password Type ------- -------- -------- ------ 8uJ03j7 user#1 *** student 2835ruJ user#2 *** instructor 2835JhL user#3 *** stu

假设我有两种类型的用户:学生讲师。例如,我如何才能只允许讲师访问与学生不同的观点

ObjectID    UserName   Password    Type
-------     --------   --------   ------
8uJ03j7     user#1      ***        student
2835ruJ     user#2      ***        instructor
2835JhL     user#3      ***        student
比如说我们有一个学校应用程序,学生可以登录并查看他们的成绩,而讲师可以输入数据并进行修改。 我问这个问题是因为据我所知,Parse.com中的登录类不能有两种用法,这就是为什么我想区分两种不同类型的用户。
谢谢

不要试图阻止任何用户登录。我认为这是控制一切的一种非常糟糕的方式。您可以扩展
PFUser
类,添加一个额外字段,如
type
,并在用户登录后进行任何控制。

如果用户登录类型为student,您可以在此处隐藏按下视图的按钮,只有讲师才能看到该视图

在具有按钮的视图中,只有讲师可以使用该按钮执行以下操作:

在.h文件中,为按下视图的按钮创建一个属性,如下所示:

@property (nonatomic,strong) UIButton *buttonThatPushesInstructorView;
在.m文件中:

在视图的VIEWWILLISPEND方法中,执行以下检查:

  if ([[[PFUser currentUser]objectForKey:@"type"]isEqualToString:@"Instructor"]) {
        _buttonThatPushesInstructorView.hidden=NO;
    }else{

        _buttonThatPushesInstructorView.hidden=YES;
    }
这样,当视图加载时,只有“讲师”类型的用户才能访问推动讲师视图的按钮


希望有帮助

我对你的问题的理解不同于曼尼弗和伊斯梅尔古莱克。我的解释是:根据用户登录的类型,你希望应用程序自动将他们引导到讲师和学生的不同视图。没有按钮隐藏等

要实现这一点,您可以在AppDelegate中执行以下操作:

- (void)logInViewController:(PFLogInViewController *)logInController didLogInUser:(PFUser *)user {
NSString *userType = user[@"type"];
if ([userType isEqualToString:@"instructor"]) {
    self.window.rootViewController = instructorViewController;
} else {
    self.window.rootViewController = studentViewController;            
}

[self.window makeKeyAndVisible];
我确信您已经在appdelegate中实现了didLogInUser。在那里检查usertype。无需使用单例,因为
[PFUser currentUser]
将在应用程序中的任何位置提供给您


当然,在将其设置为
rootViewController
之前,您需要在if语句中初始化正确的讲师/学生视图控制器

好的,谢谢,我已经有了“类型”字段,但我想要的是,当学生登录时,它应该说转到firstView,当讲师登录时转到secondView。你知道怎么处理吗?我的意思是我应该把这个条件放在哪里。谢谢,我现在明白了。我认为应该将用户类型存储在应用程序中类似于单例的对象中。因此,可能有三种类型的用户类型:
未登录
已登录学生
已登录讲师
。因此,当你要在应用程序中显示任何与用户类型相关的控件时,你应该阅读当前类型并决定是否显示它。我根据你先前评论中所说的内容重新编写了你的问题。我还提供了一个答案,将解决您的问题,看看吧!这有多安全?