ac 역할 기반 액세스를 구현하려면 어떻게해야합니까? Meteor의 Control?
.
바로 상자에서 유성 JavaScript 프레임 워크에서 할 수있는 가장 간단한 작업 중 하나는 사용자 계정 시스템을 만드는 것입니다. Accounts-Password 및 Accounts-UI (Accounts-Password 및 Accounts-UI)를 설치하면 다음과 같은 완전한 기능이 있습니다.
그러나 현재, 우리는 나열된 첫 두 지점 (등록 및 로그인) 양식에 대해 이야기합니다. 그 이유는 기초를 처리 한 후에는 다른 인터페이스를 만드는 방법을 알아내는 것이 어렵지 않기 때문입니다.
다음 스 니펫은 등록 양식의 코드를 보여줍니다.
meteor <span>add accounts-password</span>
<span><span><span><template</span> name<span>="register"</span>></span>
</span> <span><span><span><form</span>></span>
</span> <span><span><span><input</span> type<span>="email"</span> name<span>="registerEmail"</span>></span>
</span> <span><span><span><input</span> type<span>="password"</span> name<span>="registerPassword"</span>></span>
</span> <span><span><span><input</span> type<span>="submit"</span> value<span>="Register"</span>></span>
</span> <span><span><span></form</span>></span>
</span><span><span><span></template</span>></span></span>
<span><span><span><template</span> name<span>="login"</span>></span>
</span> <span><span><span><form</span>></span>
</span> <span><span><span><input</span> type<span>="email"</span> name<span>="loginEmail"</span>></span>
</span> <span><span><span><input</span> type<span>="password"</span> name<span>="loginPassword"</span>></span>
</span> <span><span><span><input</span> type<span>="submit"</span> value<span>="Login"</span>></span>
</span> <span><span><span></form</span>></span>
</span><span><span><span></template</span>></span></span>
여기서는“레지스터”템플릿 내부의 양식을 작성하여 코드를 작성했습니다.
또한이 코드를 서버에서 실행하는 것을 원하지 않기 때문에이 코드를 Isclient 조건부 내에 배치했습니다 (인터페이스만을위한 것).
이벤트 내에서는 이메일 및 비밀번호 필드의 값을 가져 와서 한 쌍의 변수에 저장하고 싶습니다. 이전 코드를 수정하겠습니다.
meteor <span>add accounts-password</span>
<span><span><span><template</span> name<span>="register"</span>></span>
</span> <span><span><span><form</span>></span>
</span> <span><span><span><input</span> type<span>="email"</span> name<span>="registerEmail"</span>></span>
</span> <span><span><span><input</span> type<span>="password"</span> name<span>="registerPassword"</span>></span>
</span> <span><span><span><input</span> type<span>="submit"</span> value<span>="Register"</span>></span>
</span> <span><span><span></form</span>></span>
</span><span><span><span></template</span>></span></span>
<span><span><span><template</span> name<span>="login"</span>></span>
</span> <span><span><span><form</span>></span>
</span> <span><span><span><input</span> type<span>="email"</span> name<span>="loginEmail"</span>></span>
</span> <span><span><span><input</span> type<span>="password"</span> name<span>="loginPassword"</span>></span>
</span> <span><span><span><input</span> type<span>="submit"</span> value<span>="Login"</span>></span>
</span> <span><span><span></form</span>></span>
</span><span><span><span></template</span>></span></span>
<span><span><span><head</span>></span>
</span> <span><span><span><title</span>></span>Custom Registration Tutorial<span><span></title</span>></span>
</span><span><span><span></head</span>></span>
</span><span><span><span><body</span>></span>
</span> {{#if currentUser}}
<span><span><span><p</span>></span>You're logged in.<span><span></p</span>></span>
</span> {{else}}
{{> register}}
{{> login}}
{{/if}}
<span><span><span></body</span>></span></span>
<span>if (Meteor.isClient) {
</span> <span>Template.register.events({
</span> <span>'submit form': function(event) {
</span> event<span>.preventDefault();
</span> <span>console.log("Form submitted.");
</span> <span>}
</span> <span>});
</span><span>}</span>
<span>Template.register.events({
</span> <span>'submit form': function(event){
</span> event<span>.preventDefault();
</span> <span>var emailVar = event.target.registerEmail.value;
</span> <span>var passwordVar = event.target.registerPassword.value;
</span> <span>console.log("Form submitted.");
</span> <span>}
</span><span>});</span>
사용자는 이제 등록하고 로그인 할 수 있지만 로그 아웃 할 수 있도록 먼저 로그인시 표시 될 새 "대시 보드"템플릿을 작성하겠습니다.
그런 다음이 기사의 앞부분에 쓴 if 문에 다음 코드를 포함시킵니다.
<span>Template.login.events({
</span> <span>'submit form': function(event) {
</span> event<span>.preventDefault();
</span> <span>var emailVar = event.target.loginEmail.value;
</span> <span>var passwordVar = event.target.loginPassword.value;
</span> <span>console.log("Form submitted.");
</span> <span>}
</span><span>});</span>
<span>Accounts.createUser({
</span> <span>// options go here
</span><span>});</span>
<span>Accounts.createUser({
</span> <span>email: emailVar,
</span> <span>password: passwordVar
</span><span>});</span>
<span>Template.register.events({
</span> <span>'submit form': function(event) {
</span> event<span>.preventDefault();
</span> <span>var emailVar = event.target.registerEmail.value;
</span> <span>var passwordVar = event.target.registerPassword.value;
</span> <span>Accounts.createUser({
</span> <span>email: emailVar,
</span> <span>password: passwordVar
</span> <span>});
</span> <span>}
</span><span>});</span>
이러한 기능을 구현하는 방법에 대한 세부 사항을 파악하는 데 오후가 걸릴 수 있지만,이 튜토리얼에서 다루는 내용을 기반으로 한 것은 손이 닿지 않습니다. 유성은 우리를 위해 노력합니다.
이 기사에서 개발 된 코드를 사용하려면 설정 한 Github 저장소를 살펴보십시오.
Meteor에서 로그인/등록 양식의 모양을 사용자 정의 할 수 있습니까? Meteor는 A를 제공하지 않습니다. 로그인/등록 양식의 모양을 사용자 정의하는 내장 방법. 그러나 CSS를 사용하여 필요에 따라 양식을 스타일링 할 수 있습니다. 클래스를 양식 요소에 할당 한 다음 CSS 파일 에서이 클래스를 사용하여 스타일을 적용 할 수 있습니다. 또는 부트 스트랩 또는 재료 -UI와 같은 UI 라이브러리를 사용하여 양식을 스타일링 할 수 있습니다. Meteor에서 이메일 확인을 구현하려면 어떻게해야합니까?
Meteor는 이메일 확인에 대한 내장 지원을 제공합니다. 계정을 사용하여 확인 이메일을 사용하여 확인 이메일을 사용자에게 보낼 수 있습니다. 이 메소드는 사용자의 ID를 매개 변수로 가져 와서 사용자가 클릭 할 수있는 링크가있는 이메일을 보내 이메일 주소를 확인합니다. 다음과 같은 새 사용자를 작성한 후이 메소드를 호출 할 수 있습니다. function (err, userId) { if (err) { // hange error } else {> ac 오류가 발생하면 오류 객체와 함께 호출되는 콜백 함수를 제공 할 수 있습니다. 이 오류 객체에는 무엇이 잘못되었는지에 대한 정보가 포함되어 있습니다. 이 정보를 사용하여 사용자에게 적절한 오류 메시지를 표시 할 수 있습니다. 예는 다음과 같습니다. Meteor는 비밀번호 재설정 기능에 대한 내장 지원을 제공합니다. ac convers.forgotpassword 메서드는 클릭 할 수있는 링크를 통해 이메일을 사용자에게 보냅니다. 비밀번호를 재설정합니다. ac 재설정 링크와 새 비밀번호의 토큰을 매개 변수로 가져옵니다.
Meteor 응용 프로그램에 소셜 로그인을 추가하려면 어떻게해야합니까?
Meteor는 Facebook, Google, Google과 같은 다양한 제공 업체와 소셜 로그인을 지원합니다. 계정 패키지를 통해 트위터. 애플리케이션에 소셜 로그인을 추가하려면 적절한 패키지 (예 : Facebook 로그인의 계정-파이스 북)을 추가하고 소셜 제공 업체의 앱 자격 증명으로 구성해야합니다. Flowrouter 또는 Iron Router와 같은 라우팅 패키지와 함께 Meteor의 내장 계정 패키지를 사용하여 특정 경로 기반에 대한 액세스를 제한 할 수 있습니다. 사용자 인증에. Meteor.userid () 또는 Meteor.user ()를 사용하여 사용자가 로그인 한 다음 로그인 페이지로 다시 리디렉션 할 수 있습니다. ?
Meteor에서는 Meteor.users Collection의 사용자 문서에 추가 사용자 데이터를 저장할 수 있습니다. 계정을 사용하여 새 사용자를 생성 할 때이 문서에 추가 필드를 추가하거나 Meteor.users.update를 사용하여 추가 데이터로 기존 사용자 문서를 업데이트 할 수 있습니다. Meteor는 역할 기반 액세스 제어에 대한 내장 지원을 제공하지 않지만 Alanning과 같은 패키지를 사용 하여이 기능을 애플리케이션에 추가 할 수 있습니다. 이 패키지는 사용자에게 역할을 할당 한 다음 사용자가 특정 작업을 수행 할 수 있는지 결정할 때 이러한 역할을 확인할 수 있습니다. Meteor.logout 방법을 사용하여 Meteor로 사용자를 로그 아웃 할 수 있습니다. 이 메소드는 클라이언트의 현재 사용자를 로그 아웃하고 서버의 로그인 토큰을 무효화합니다. 또한 로그 아웃 프로세스가 완료 될 때 인수없이 호출되는 콜백 함수가 필요합니다.
위 내용은 Meteor로 사용자 정의 로그인 및 등록 양식 작성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!