`

EXT + ACEGI登录实现

阅读更多
http://seraph115.iteye.com/blog/385538
/** 
* login.js Power by YUI-EXT and JSON. 
*  
* @author seraph 
* @email seraph115@gmail.com 
*/ 
   
var Login = {   
    author: "Seraph",  
    version: "0.1.0" 
};  
 
var loginPanel;  
 
Ext.QuickTips.init();  
 
Ext.onReady(function(){  
      
        var userNames = [];  
        var store = new Ext.data.Store({  
            proxy: new Ext.data.MemoryProxy(userNames),  
            reader: new Ext.data.ArrayReader({}, [{name: 'userName'}])  
        });  
        store.load();  
 
        var loginFormPanel = new Ext.FormPanel({  
            id: 'login-form',  
            renderTo: Ext.getBody(),  
            labelWidth: 55,  
            frame: false,  
            bodyStyle:'background-color: #DFE8F6; padding-top: 25px; padding-left: 20px; border: 0px solid;',  
            defaults: {  
                width: 230,  
                anchor: '88%',  
                allowBlank: false,  
                selectOnFocus: true,  
                msgTarget: 'side' 
            },  
            defaultType: 'textfield',  
            method: 'POST',  
            bodyBorder: false,  
            border: false,  
            items: [  
                {   xtype: 'combo',  
                    store: store,  
                    id: 'j_username',  
                    name: 'j_username',  
                    fieldLabel: '用户名',  
                    displayField: 'userName',  
                    valueField: 'userName',  
                    typeAhead: true,  
                    mode: 'local',  
                    triggerAction: 'all',  
                    selectOnFocus: true,  
                    allowBlank: false,  
                    blankText: '请输入用户名' 
                },{  
                    id: 'j_password',  
                    name: 'j_password',  
                    fieldLabel: '密   码',  
                    inputType: 'password',  
                    blankText: '请输入密码' 
                },{  
                    xtype: 'checkboxgroup',  
                    fieldLabel: '记住我',  
                    height: 20,  
                    allowBlank: true,  
                    items: [{  
                        boxLabel: '&nbsp;&nbsp;<img style="height: 10px;" src="../images/platform/icon/question_small_no_border.png" ext:qtip="勾选后,5日内无需登录" />',  
                        itemCls : 'required',  
                        id: '_acegi_security_remember_me',  
                        name: '_acegi_security_remember_me',  
                        inputValue: 'true' 
                    }]  
                }  
            ],  
            buttons: [{  
                        text:'登录',  
                        handler: function(){  
                            if(loginFormPanel.getForm().isValid()){  
                                var sb = Ext.getCmp('form-statusbar');  
                                sb.showBusy('登录中...');  
                                // loginFormPanel.getEl().mask();  
                                  
                                var rememberMe = null;  
                                if($('_acegi_security_remember_me').checked) {  
                                    rememberMe = $('_acegi_security_remember_me').value;  
                                }  
 
                                Ext.Ajax.request({  
                                   url: 'j_acegi_security_check',  
                                   success: function(response) {  
                                        var messager = response.responseText.evalJSON();  
                                        if(messager.success) {  
                                            sb.setStatus({  
                                                text: '登录成功!',   
                                                iconCls: '',  
                                                clear: true 
                                            });  
                                            // loginFormPanel.getEl().unmask();  
                                            location.href = messager.contents.targetUrl;  
                                        } else {  
                                            sb.setStatus({  
                                                text: '登录失败! 原因: ' + messager.contents.error,   
                                                iconCls: '',  
                                                clear: true 
                                            });  
                                            userNames.push(new Array([messager.contents.key]));  
                                            store.reload();  
                                            // loginFormPanel.getEl().unmask();  
                                        }  
                                   },  
                                   params: {j_username: $('j_username').value, j_password: $('j_password').value, _acegi_security_remember_me: rememberMe, ajax: true}  
                                });  
                            }  
                        }  
                    },{  
                        text: '重置',  
                        handler: function(){  
                            loginFormPanel.form.reset();  
                        }  
                    }]  
        });  
      
        loginPanel = new Ext.Window({  
            el: 'login-window',  
            layout:'fit',  
            title: 'BISP-登录',  
            width: 300,  
            height: 200,  
            resizable : false,  
            closeAction: 'hide',  
            items: loginFormPanel,  
            iconCls:'login-win',  
            bbar: new Ext.StatusBar({  
                id: 'form-statusbar',  
                defaultText: '待登录',  
                plugins: new Ext.ux.ValidationStatus({form:'login-form'})  
            })  
        });  
        loginPanel.show();  
});  
 
var LoginPanel = {  
          
    show : function() {  
        loginPanel.show();  
    }  

分享到:
评论

相关推荐

    struts + spring + hibernate + velocity + ajax + jotm + acegi

    简介: struts + spring + hibernate + velocity + ajax + jotm + acegi ================================================================================================ 本资料共包含以下附件: 1161...

    batis+acegi实现的动态权限控制

    标题 "batis+acegi实现的动态权限控制" 暗示了这个项目是关于整合Spring框架中的Acegi安全模块和MyBatis ORM框架,来创建一个动态的权限管理系统。Acegi是Spring早期的安全组件,现在已被Spring Security所取代,但...

    SSH + ajax + acegi

    Acegi(现称为Spring Security)是一个强大的安全管理框架,提供了认证、授权等功能,可以实现用户登录、权限控制、会话管理等安全需求。它能够灵活地与Spring框架其他组件集成,为应用提供全方位的安全防护。 在这...

    用ssh+acegi+ajax开发的网上在线人才招聘系统

    用ssh+acegi+ajax开发的网上在线人才招聘系统,可以用在各个企业或单位中进行人才招聘管理,同时此系统可以进行在线考试,如果下载后不会运行,可以在线联系我 qq:642706101

    spring+acegi+中文手册

    - **Acegi 在 Web 应用中的作用**:Acegi 使用 Servlet 过滤器来拦截 Servlet 请求,实现身份验证和安全性控制。 - **Acegi 的独特声明方式**:通过 Spring IoC 注入 Acegi 所需的其他对象,使得 Acegi 的配置更加...

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。这个是分卷,同时下载2.3.4部分

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第二部分)

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第四部分)

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 做的综合管理系统,数据库采用MYSQL,分层清晰,业务相对复杂,是学习框架不可多得的项目。

    Spring+Hibernate+Acegi 的初次体验

    Acegi主要负责处理用户的登录、授权和会话管理。在描述的实例中,我们有三种角色:教师、学生和管理员,他们都需要在一个统一的登录界面进行身份验证。Acegi允许我们根据用户的角色分配不同的权限,确保每个角色只能...

    Struts2+Spring+Hibernate3+Acegi.rar

    Struts2、Spring和Hibernate3是Java开发中的三大框架,它们各自负责Web应用的不同层面,而Acegi(现已被Spring Security替代)则是一个强大的安全框架。这个名为"Struts2+Spring+Hibernate3+Acegi.rar"的压缩包提供...

    Spring+Acegi+ehcache安全框架常用jar包.rar

    在"Spring+Acegi+ehcache安全框架所用jar包"这个压缩包中,你可能会找到以下关键的库文件: 1. spring-context.jar:Spring的核心库,包含Bean管理和AOP支持。 2. spring-aop.jar:Spring的面向切面编程模块,用于...

    DWR2+EXTJS2.2+Hibernate3.3+Spring2+Acegi 综合管理系统(第三部分)

    Acegi提供了基于角色的访问控制、会话管理、CSRF防护等功能,帮助开发者轻松实现应用的安全控制。在Spring2中,Acegi能够无缝集成,为Web应用提供全面的安全解决方案。 综上所述,这个“DWR2+EXTJS2.2+Hibernate3.3...

    acegi+cas整合工程及说明1

    将acegi和cas的war包修改并整合测试,里面包含所需依赖包。经过分卷压缩一共3个文件.

    acegi+ssh动态实现基于角色的权限管理

    ### acegi+SSH动态实现基于角色的权限管理 在企业级应用开发中,权限管理和用户认证是必不可少的安全机制。本文将详细介绍如何利用Acegi安全框架(现称为Spring Security)结合SSH(Struts + Spring + Hibernate)...

    acegi+ldap

    【acegi+ldap】是一个基于Spring和Acegi安全框架与 Lightweight Directory Access Protocol(LDAP)集成的权限管理解决方案。Acegi是Spring社区早期的安全模块,它提供了全面的身份验证、授权和服务层安全功能。LDAP...

    Struts2+Spring2+Hibernate3实现登录

    此外,Spring的安全模块(Spring Security,前身是Acegi)可以用于更复杂的权限控制,但这里可能只是实现了基本的身份验证。 Hibernate3是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。在...

Global site tag (gtag.js) - Google Analytics