rails app的用户身份验证和授权

时间:2016-04-04 22:59:57

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 ruby-on-rails-3.2 ruby-on-rails-3.1

请原谅我缺乏知识, 最近,我正在学习rails并发现它非常容易和有趣,但仍然有很多东西需要学习。

我提出了管理汽车研讨会的申请:

车主有很多车 汽车有很多次访问 访问属于汽车和所有者。

我希望能够让不同的研讨会用户管理他们的业务,为了使访问和汽车和所有者属于该特定用户,目前的设计是什么,是否所有模型都属于用户?哪里可以读到这个?根据登录用户管理对数据库的访问?

我读到了有关身份验证的内容,但它没有回答我的问题,这是针对我的需求的最佳设计,即仅管理其数据的研讨会。

2 个答案:

答案 0 :(得分:2)

您可以检查Devise(https://github.com/plataformatec/devise),这是处理身份验证的最常用方法之一

最后,您将拥有一个用户模型,然后您可以将其视为任何其他模型,例如,如果您只想显示用户的汽车,您可以执行类似int main() { ifstream myfile("instructor.csv"); ofstream myfile2("outfile.csv"); string line, lineAboveProfessor; string dropInstructor; bool ignore = false, found = false; cout << "Enter Instructor to drop by name: "; getline(cin, dropInstructor); while (getline(myfile, line)) { if (line == "startInstructor") { if (!getline(myfile, line)) break; ignore = (line == dropProfessor); if (ignore) { found = true; } else { myfile2 << lineAboveProfessor << endl << "startInstructor" << endl << line << endl; } while (getline(myfile, line)) { if (!ignore) myfile2 << line << endl; if (line == "endProfessor") { if (!ignore) myfile2 << endl; break; } } lineAboveProfessor = ""; } else { lineAboveProfessor = line; } } /*if (!found) { cout << "Not found" << endl; cin.get(); // client ->sendToClient("Not Found"); }*/ if (myfile1.eof() && myfile2.good()) { myfile.close(); myfile2.close(); remove("instructor.csv"); rename("outfile.csv", "instructor.csv"); } else { myfile.close(); myfile2.close(); remove("outfile.csv"); } } 的操作并限制某些控制器操作仅在current_user.cars等时发生。我建议检查他们的文档,因为大多数用例都很容易解释。

答案 1 :(得分:1)

Devise可用于处理身份验证,Pundit或CanCanCan可用于授权。我建议您查看这些内容,有很多教程可以回答您的问题。