Javascript自动登录B/S系统的简单实现

前几天别的项目组的要求说要那我们的项目出去演示,要做个能快速登录其B/S系统的东西。我就给写了一个html文件,在浏览器中打开这个文件之后,就可以自动跳转到我们系统的主界面。

我们的系统使用的是Spring Security那一套的权限控制机制,简单的自动登录比较简单,只要定义一个<form>表单,提交的action指向项目根目录下的j_spring_security_check页面,并在表单中定义两个字段,名字分别为j_username和j_password,并分别给定用户名和密码值,然后提交表单即可。这样的登录方式,相当于直接从系统的登录界面登录,只不过把登录过程自动化了而已。

后来,他们又提出登录之后,最好能把原系统的标题给替换掉,显示一个他们给定的名字;还想自动实现页面中的一些操作(这是一个车辆的GPS监控系统,他们想一登录就自动选上几辆车并开始监控)。琢磨之后发现第二个要求应该是不可能的,因为这样就相当于跨域访问了。关于第一部分,我使用了一个命名的iframe,也就是把我们的系统嵌入到一个另一个页面之中。并且为了正好练习一下javascript,我给这个页面加上了根据主窗口的大小调节iframe大小的功能,是跨浏览器的;这样,跟直接登录系统看到的界面是完全一样的,只不过可以自定义一个title,并且可以添加一些额外的js代码。全部的代码如下:

其中addCookie('mapType',2);这句是为了写登录过程中需要用到的一个cookie值。就这么简单!

另附两个封装好的获取和删除cookie值的函数,以及原来企图实现第二部分功能时参考的一个跨浏览器的发送Ajax请求的函数:




posted @ 2011-11-02 20:43  Java EE  阅读(1321)  评论(0编辑  收藏  举报