12.01 day01

1.AJAX都有哪些优点和缺点?

  • ajax的优点
    1. 最大的优是页面无刷新,用户的体验非常好.
    2. 使用异步方式与服务器通信,具有更加迅速的响应能力.
    3. 可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本.并且减轻服务器的负担,ajax的原则是"按需取数据",可以最大程度的减少冗余请求,和响应对服务器造成的负担.
    4. 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序
  • ajax的缺点
    1. ajax不支持浏览器back按钮.
    2. 安全问题 AJAX暴露了与服务器交互的细节.
    3. 对搜索引擎的支持比较弱.
    4. 破坏了程序的异常机制.
    5. 不容易调试.

2.AJAX应用和传统Web应用有什么不同?

  • 在传统的Javascript编程中,如果想得到服务器端数据库或文件上的信息,或者发送客户端信息到服务器,需要建立一个HTML from然后GET或者POST数据到服务器端.用户需要点击"submit"按钮来发送或者接受数据信息,然后等待服务器响应请求,页面重新加载.

  • 因为服务器每次都会返回一个新的页面,所以传统的web应用有可能很慢而且用户交互不友好.

  • 使用AJAX技术,就可以使Javascript通过XMLHttpRequest对象直接与服务器进行交互

  • 通过HTTP Result,一个web页面可以发送一个请求到web服务器并且接受web服务器返回的信息(不用重新加载页面),展示给用户的还是同一个页面,用户感觉页面刷新,也看不到Javascript后台进行的发送请求和接受相应.

3.Shiro的核心概念Subject.SecurityManager.Realm

  • Subject:主体,代表了当前"用户",这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如爬虫.机器人等:即一个抽象概念:所有Subject都绑定到SecurityManager,与Subject的所有交互都会委托给SecurityManager:可以把Subject认为是一个门面:SecurityManager才是实际的执行者.
  • SecurityManager:安全管理器:即所有与安全有关的操作都会与SecurityManager交互:且它管理着所有Subject:可以看出它是shiro的核心,SecurityManager相当于spring mvc中的dispatcherServlet前端控制器.
  • Realm:域,shiro从Realm获取安全数据(如用户.角色.权限),就是说SecurityManager要验证用户身份,那么它需要从Realm获取相应的用户进行比较确定用户身分是否合法:也需要从Realm得到用户相应的角色/权限进行验证用户是否能进行操作:可以把Realm看成DataSource,即安全数据源.

4.Shiro运行流程(比如登录流程)

  1. 首先调用Subject,login(token)进行登录,他会委托给SecurityManager
  2. SecurityManager负责真正的身份验证逻辑;它会委托给Authenticator进行验证;
  3. Autenticator回吧相应的token传入Realm,从Realm获取身份验证信息,如果没有就返回认证失败,有的话就继续执行操作.

5.如何配置在Spring中配置使用Shiro?

  1. 在web.xml中配置Shiro的Filter
  2. 在Spring的配置文件中配置Shiro
  3. 配置自定义Realm:实现自定义认证和授权
  4. 配置shiro实体类使用的缓存策略
  5. 配置SecurityManager
  6. 配置保证Shiro内部Bean声明周期都得到执行的Lifecycle Bean后置处理器
  7. 配置AOP 式方法级权限检查
  8. 配置Shiro Filter

上一篇:three.js 简单方块绘制


下一篇:C#使用时间戳