区分移动应用程序和桌面浏览器对会话管理的请求

阿米特·雅塔吉里(Amit Yatagiri)

上下文:(Java)Web应用程序使用apache shiro进行会话管理,身份验证和授权。现在,仅对于移动用户而言,会话属性需要在创建过程中进行更改(例如:增加会话超时间隔等)。

如何区分移动客户端和桌面浏览器客户端?浏览器用户代理可能会提供该值,但是它可靠吗?

当移动设备使用Web应用程序时,还需要注意哪些其他事项(就后端的会话处理而言)?

伍特

我们发现使用spring移动设备模块最简单:http//docs.spring.io/spring-mobile/docs/current/reference/html/device.html

您只需将servlet过滤器添加到web.xml中,它将在请求中保留当前设备信息:

<filter>
    <filter-name>deviceResolverRequestFilter</filter-name>
    <filter-class>org.springframework.mobile.device.DeviceResolverRequestFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>deviceResolverRequestFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

然后您可以使用实用程序获取信息

    Device currentDevice = DeviceUtils.getCurrentDevice((HttpServletRequest) request);
    if (currentDevice != null && (currentDevice.isMobile() || currentDevice.isTablet())){
        //do mobile stuff
    } else {
        //do desktop stuff
    }

该库处理所有用于检测移动设备的用户代理程序。

至于第二个问题,如果网页是从移动设备或台式机加载的,则在服务方面并没有什么区别。他们都有HttpSessions,Cookie等。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

区分移动应用程序和桌面浏览器的会话管理请求

来自分类Dev

Facebook应用程序请求显示在桌面浏览器中,而不显示在iOS应用程序中

来自分类Dev

OAuth为什么要区分Web服务器应用程序和基于浏览器的应用程序?

来自分类Dev

JAVA桌面应用程序和带有浏览器的HTML

来自分类Dev

从基于移动或浏览器的应用程序连接MongoDB

来自分类Dev

从基于移动或浏览器的应用程序连接MongoDB

来自分类Dev

Worklight应用程序访问移动浏览器cookie

来自分类Dev

如何使用Meteor为移动应用程序和Web浏览器构建不同的UI

来自分类Dev

我的Angular JS应用程序可在桌面浏览器中使用,但不能在移动浏览器中使用

来自分类Dev

单页应用程序:身份验证令牌管理和浏览器刷新

来自分类Dev

Angular js应用程序在ios浏览器,Safari和chrome上都显示空白页面。在Windows桌面浏览器上工作正常

来自分类Dev

如何使用桌面应用程序的浏览器小部件在当前版本的Livecode中对浏览器的前进和后退按钮进行编程

来自分类Dev

Qt桌面和移动应用程序

来自分类Dev

如何从Java桌面应用程序代码打开新的浏览器窗口?

来自分类Dev

JS,我们如何从浏览器打开桌面应用程序,例如Zoom或Webex

来自分类Dev

如何在Web浏览器中打开桌面应用程序

来自分类Dev

使用桌面应用程序控制Web浏览器

来自分类Dev

没有桌面应用程序的浏览器中的 Keepass 自动输入?

来自分类Dev

从浏览器运行应用程序

来自分类Dev

在浏览器应用程序和.net Windows应用程序之间进行通信

来自分类Dev

Worklight 6.2-移动浏览器模拟器无法正确呈现应用程序

来自分类Dev

单个Web应用程序在同一浏览器上进行多个会话

来自分类Dev

面向Cordova的应用程序POST cookie会话信息或传递给默认浏览器

来自分类Dev

在多个应用程序的同一浏览器会话中绕过MFA

来自分类Dev

如何从移动浏览器启动Unity3d应用程序?

来自分类Dev

在浏览器中像移动应用程序一样创建动画

来自分类Dev

移动应用程序与PC浏览器之间的对等通信

来自分类Dev

为Safari移动浏览器(iPhone)安装此Web应用程序提示框

来自分类Dev

移动浏览器是否支持Three.js应用程序

Related 相关文章

  1. 1

    区分移动应用程序和桌面浏览器的会话管理请求

  2. 2

    Facebook应用程序请求显示在桌面浏览器中,而不显示在iOS应用程序中

  3. 3

    OAuth为什么要区分Web服务器应用程序和基于浏览器的应用程序?

  4. 4

    JAVA桌面应用程序和带有浏览器的HTML

  5. 5

    从基于移动或浏览器的应用程序连接MongoDB

  6. 6

    从基于移动或浏览器的应用程序连接MongoDB

  7. 7

    Worklight应用程序访问移动浏览器cookie

  8. 8

    如何使用Meteor为移动应用程序和Web浏览器构建不同的UI

  9. 9

    我的Angular JS应用程序可在桌面浏览器中使用,但不能在移动浏览器中使用

  10. 10

    单页应用程序:身份验证令牌管理和浏览器刷新

  11. 11

    Angular js应用程序在ios浏览器,Safari和chrome上都显示空白页面。在Windows桌面浏览器上工作正常

  12. 12

    如何使用桌面应用程序的浏览器小部件在当前版本的Livecode中对浏览器的前进和后退按钮进行编程

  13. 13

    Qt桌面和移动应用程序

  14. 14

    如何从Java桌面应用程序代码打开新的浏览器窗口?

  15. 15

    JS,我们如何从浏览器打开桌面应用程序,例如Zoom或Webex

  16. 16

    如何在Web浏览器中打开桌面应用程序

  17. 17

    使用桌面应用程序控制Web浏览器

  18. 18

    没有桌面应用程序的浏览器中的 Keepass 自动输入?

  19. 19

    从浏览器运行应用程序

  20. 20

    在浏览器应用程序和.net Windows应用程序之间进行通信

  21. 21

    Worklight 6.2-移动浏览器模拟器无法正确呈现应用程序

  22. 22

    单个Web应用程序在同一浏览器上进行多个会话

  23. 23

    面向Cordova的应用程序POST cookie会话信息或传递给默认浏览器

  24. 24

    在多个应用程序的同一浏览器会话中绕过MFA

  25. 25

    如何从移动浏览器启动Unity3d应用程序?

  26. 26

    在浏览器中像移动应用程序一样创建动画

  27. 27

    移动应用程序与PC浏览器之间的对等通信

  28. 28

    为Safari移动浏览器(iPhone)安装此Web应用程序提示框

  29. 29

    移动浏览器是否支持Three.js应用程序

热门标签

归档