如何保护我的应用程序的一部分不受某些用户的影响(即,其中一个选项卡式视图只能由某些用户看到)
Posted
技术标签:
【中文标题】如何保护我的应用程序的一部分不受某些用户的影响(即,其中一个选项卡式视图只能由某些用户看到)【英文标题】:How can I protect a portion of my app from certain users (ie. one of the tabbed views can only be seen by certain users) 【发布时间】:2012-08-12 22:59:14 【问题描述】:我正在构建我的第一个 ios 应用程序(不仅仅是示例等),我将尝试将其放到应用程序商店中。我将为 iPhone/ipad 和使用 iOS 5.0 制作这个。
我正在考虑让我的应用程序具有选项卡式视图。我将有一个基本用户和一个“会员”用户。成员用户将有权访问基本用户无法访问的功能/视图/数据。我正在寻找两件事。一,一些关于保护/隐藏基本用户的最佳方法的想法,二,一些技术代码也有助于如何做到这一点。我有一个想法,我可能有一个所有成员都知道的密码,甚至可以做一个 id/密码,我将这些信息保存在 plist 或其他东西中,然后我可以在viewdidload
(也许?)导致模态视图在让他们看到视图/数据之前上来挑战他们。
寻找任何想法。
【问题讨论】:
【参考方案1】:我不推荐预设密码的方法。您几乎会立即在留言板上找到已烘焙的用户名和密码。您将希望使用网络服务进行身份验证或将其作为应用内购买。
【讨论】:
我不会让任何人购买该应用程序。该应用程序实际上是免费的。此应用程序适用于教会,非会员可以看到某些内容,会员可以看到所有内容。所以我只需要保护非教会成员的某些数据。 我将查找内置的 id/密码系统,看看是否可行。谢谢。 @DirectX 我明白了,如果您不在乎非会员是否看到仅限会员的部分,那么安全性无关紧要。拥有用户名/密码系统没有多大意义。只需有一个打开成员信息的开关。 不,我很在意。仅限会员部分将包含会员的姓名和电子邮件地址,因此只有会员才能看到它,所以我确实需要保护它免受普通“公共/基本/非会员”用户的影响。所以某种 pin 或 id/密码,或者我也想过如果会员提供他们的姓名和会员编号,我可以对照我可以作为 plist 或我的应用程序中的其他东西的会员列表进行检查,如果他们有正确的信息。 @DirectX 如果您担心安全性,那么您应该认真对待安全性。远程身份验证并不难实现,它允许您监控正在登录的用户、禁用受损帐户以及为忘记的人重置密码。糟糕的安全可能比没有安全更糟糕。【参考方案2】:实现这个委托方法,然后用逻辑来决定返回YES还是NO:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
Parameters
tabBarController
The tab bar controller containing viewController.
viewController
The view controller belonging to the tab that was tapped by the user.
Return Value
YES if the view controller’s tab should be selected or NO if the current tab should remain active.
Discussion
The tab bar controller calls this method in response to the user tapping a tab bar item. You can use this method to dynamically decide whether a given tab should be made the active tab.
【讨论】:
我会调查这个,因为这听起来像是我想要做的。谢谢。 如果最终这对你有用,如果你点击复选标记并选择这个答案,那就太好了。 这确实帮助了我的代码。我仍然必须弄清楚如何挑战用户以查看他们是否是会员。仅限会员部分将包含会员的姓名和电子邮件地址,因此只有会员才能看到它,所以我确实需要保护它免受普通“公共/基本/非会员”用户的影响。所以某种 pin 或 id/密码,或者我也想过如果会员提供他们的姓名和会员编号,我可以对照我可以作为 plist 或我的应用程序中的其他东西的会员列表进行检查,如果他们有正确的信息。以上是关于如何保护我的应用程序的一部分不受某些用户的影响(即,其中一个选项卡式视图只能由某些用户看到)的主要内容,如果未能解决你的问题,请参考以下文章