2013-09-26 1 views
1

У меня есть веб-приложение, в котором пользовательскому сеансу должно управляться управление.Extjs 4 Управление сеансом

В app.js я использовал запуск конфигурацию, как:

launch: function(){ 
    Ext.create('myproject.view.LoginForm') 
} 

LoginForm: покажет журнал в диалоговом окне и вызвать контроллер входа для связи с сервером для проверки подлинности учетных данных, предоставленных пользователем.

Поэтому, когда пользователь обновляет страницу, Extjs просит войти в систему, потому что я не проверяю здесь сеанс. Как должны быть данные сеанса, хранящиеся в клиенте Extjs, и убедитесь, что вы не запрашиваете вход в систему, если пользователь вышел из системы? и Как управлять сеансом пользователя?

ответ

1

Управление сеансом может быть сделано с помощью

Внутри контроллера входа

// Storing user details in session/cookies 
Ext.util.Cookies.set("key", value); 

На кнопку выхода из системы

// remove user details from cookies 
Ext.util.Cookies.set("key", value); 

В App.js

autoCreateViewport: false, 

launch: function(){ 

    var key= Ext.util.Cookies.get("key"); 

    if (key=== undefined || key== 'null' || key== null || key.length <= 0){ 
     // load login UI as user is not logged in 
     Ext.create('app.view.LoginForm'); 
    } 
    else { 
     // load main UI as user is already logged in 
     Ext.create("app.view.Viewport"); 
    } 
} 
+0

отличный ответ! благодаря! – SummerCode

1

Данные пользователя и информация о сеансе должны храниться на стороне сервера. Обычно cookie устанавливается после успешной аутентификации пользователя, чтобы не запрашивать пользователя снова. Этот файл cookie отправляется с сервера и автоматически сохраняется в браузере и отправляется обратно на сервер для проверки на обновление страницы. Сервер должен проверить cookie, если OK позволяет пользователю действовать.

Per @existdissolve комментариев ниже

В вашем методе запуска, просто запустите проверку сессионной перед тем, как создать форму входа. Независимо от того, является ли это проверкой файлов cookie или запросом непосредственно на сервере, результат проверки сеанса может затем инициировать создание формы входа или любую другую логику, которую вы создаете для создания остальной части приложения.

+0

Dbrin, вы r8, но в ExtJS, когда когда-либо я освежающим страницу приложение перенаправляет меня на страницу входа в систему, как у меня есть запуск конфигурации: функция() { Ext. create ('myproject.view.LoginForm') }, На стороне сервера я не признаю недействительным какой-либо сеанс, bt каждый раз, когда ext запрашивает у меня кредиты, так что как с этим бороться – Ram

+0

В вашем методе запуска просто запустите проверку сеанса aa перед вы создаете форму входа. Независимо от того, является ли это проверкой файлов cookie или запросом непосредственно на сервере, результат проверки сеанса может затем инициировать создание формы входа или любую другую логику для создания остальной части приложения. – existdissolve

+0

например, запуск: функция() { somecheck: функция() { если (LoggedIn) {// построить остальные приложения } еще { // показать форму Войти }} } – existdissolve

 Смежные вопросы

  • Нет связанных вопросов^_^