簡體   English   中英

嵌入簡單身份驗證將用戶配置文件保存在會話中

[英]ember simple auth save user profile in a session

我無法找出原因的方法set會議的this.get('session').set('name', name); 重新加載頁面后無法保存。 我完全按照這里所說的去做

我的密碼

//controllers/authentification.js
import Ember from 'ember';

export default Ember.Controller.extend({

session: Ember.inject.service('session'),
actions: {
    authenticate() {
        var this2 = this;
        let {
            email, motDePasse
        } = this.getProperties('email', 'motDePasse');

        this.get('session').authenticate('authenticator:oauth2', email, motDePasse).then(function () {
            this2.store.queryRecord('membre', {
                membre: {
                    email: email
                }
            }).then(function (membre) {
                var nom = membre.get('nom');
                this2.get('session').set('nom', nom);
                console.log('name:', nom);
            });
        }).catch((reason) => {
            this.set('errorMessage', reason.error || reason);
        });
    }
}
});

用於session-store / sessions.js

import Cookie from 'ember-simple-auth/session-stores/cookie';

export default Cookie.extend();

控制器/application.js

import Ember from 'ember';
import SessionService from 'ember-simple-auth/services/session';

export default Ember.Controller.extend({
    session: Ember.inject.service('session'),
    index: function () {
        this.transitionTo('index');
    }
});

模板/application.js

<ul class="nav navbar-nav navbar-right">
{{#if session.isAuthenticated}}
   <li>nom :{{session.nom}}</li>
   <li><a {{action 'logout' on="click"}}>Deconnecter</a></li>
{{else}}
   {{#link-to 'authentification' tagName="li"}}<a href>Authentification</a>{{/link-to}}
{{/if}}
</ul>

我第一次進行身份驗證時,會出現變量“ nom”,但是一旦我重新加載頁面,變量“ nom”就消失了,但會話stille已通過身份驗證

我已經找到了解決方案,我只需要使用

this2.get('session').set('.data.nom', nom);

代替

this2.get('session').set('nom', nom);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM