`
tar0917
  • 浏览: 8718 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

关于Play framework的总结(3)

阅读更多
这个项目是我所在公司针对本身开开发的一个项目。分为两部分,一部分是给客户是用,一部分是给公司的人员是用。所以针对的登陆账号来判断是属于客户还是属于公司人员
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE,ElementType.ANNOTATION_TYPE})
public @interface Secure {
 boolean companyUser() default false;
 boolean customerUser()  default false;
 boolean loginUser() default false;
 boolean all() default false;
}

每个action前都必须标识
@Secure(companyUser=true,customerUser=true)

或者每个方法前标识
@Secure(companyUser=true,customerUser=true)

Play里面每个action都必须继承Controller来实现
但是为了每个登陆的用户必须验证,则自己写一个公共的Appliaction,由这个acition来集成Controller。其他的action都集成这个Appliction,在这个类里面写一个公共的验证登陆用户是属于什么类型。
@Before(unless = { "login", "logout", "authenticate" })
public static void secureCheck(){
 Secure secure = getControllerAnnotation(Secure.class);
  if (secure == null)
   secure = getActionAnnotation(Secure.class);
  if (secure != null) {
   if (secure.all()) {
    return;
   }else if (secure.companyUser()) { // 要求用户必须已经登录
    if (session.get("company_id") == null) {
     login();
    }
   } else if (secure.customerUser()) {
    if (session.get("customer_id") == null) {
     login();
    }
   } else if (secure.loginUser()) {
    if (session.get("user_id") == null) {
     login();
    }
}

这样的话,就能很好的把客户和公司人员登陆很好的区分开来
分享到:
评论

相关推荐

    Play Framework Cookbook

    - **部署策略**:为了保证应用程序稳定运行,本书提供了关于部署 Play Framework 应用的最佳实践,包括容器化部署、持续集成/持续部署 (CI/CD) 流程等。 #### 四、案例研究与实战经验分享 - **企业级应用构建**:...

    playframework框架项目部署文档

    总结来说,Play Framework的部署涉及到环境配置、项目构建和运行等多个环节,理解每个步骤的作用和操作细节对于顺利部署项目至关重要。在实践中,还可能遇到各种特定问题,需要结合官方文档和其他资源灵活应对,确保...

    Play Framework Cookbook.pdf

    ### Play Framework Cookbook 知识点解析 #### 一、Play Framework 概览 - **定义与背景**:Play Framework 是一款轻量级、高效的 Java 和 Scala Web 应用框架,旨在简化 Web 开发过程,提高开发效率。它采用了一...

    Play Framework Cookbook Second Edition

    ### Play Framework Cookbook Second Edition 关键知识点解析 #### 一、Play Framework 概述 - **定义与背景**:Play Framework 是一个开源的 Web 开发框架,适用于 Java 和 Scala,特别强调高生产力、易于测试和可...

    play framework 框架个人笔记

    3. **Play模式** - 开发模式(Application.mode=dev):无需重启服务器,每次请求都检查文件变化并自动编译,适合开发。 - 生产模式(Application.mode=prod):预编译机制,提高性能,适合线上环境。 4. **...

    Playframework cookbook

    ### Playframework Cookbook 知识点解析 #### 一、Play Framework 概览 - **框架定位**:Play Framework 是一个轻量级、高效的 Java 和 Scala Web 开发框架,旨在简化 Web 应用程序的开发过程。 - **核心特性**: ...

    PlayFramework框架缓存.pdf

    总结起来,Play Framework的缓存功能是构建高性能Web应用的关键组件之一。正确理解和使用缓存API,结合适当的缓存策略,可以极大地优化数据库交互,提升系统响应速度,同时要留意缓存的局限性,如数据一致性问题和...

    PlayFramework框架邮件[参考].pdf

    Play Framework 提供了简单易用的邮件发送工具,允许开发者通过 `play.libs.Mail` 类发送邮件。你可以创建基于 MVC 的邮件通知器,利用模板机制生成动态邮件内容,支持HTML和纯文本格式。此外,配置邮件服务器参数,...

    play-slick3步:使用scala Play Framework和Slick的示例应用程序

    这个示例项目"play-slick3-steps"旨在演示如何在Play Framework中集成Slick 3.x版本,以便与MySQL数据库进行交互。通过这个教程,你将学习到以下关键知识点: 1. **环境配置**: - 首先,确保已经安装了Java、...

    play-c3p0-plugin_2.10-0.1.zip

    《Play Framework与C3P0整合插件详解》 Play Framework是Java领域中的一款轻量级、基于MVC(Model-View-Controller)架构的Web应用框架,它以简洁、高效和可测试性著称。C3P0则是一款开源的JDBC连接池,能够有效地...

    play-java-fileupload-example.zip_java_play_rately7

    总结来说,"play-java-fileupload-example.zip_java_play_rately7" 是一个基于Java的Play Framework项目,用于演示如何在Play的rately7版本中处理文件上传操作。通过研究此示例,开发者可以学习到如何在实际项目中...

    play-java-chatroom-example_java_play_

    总结,通过Play Framework,我们可以快速构建一个功能完备的Java聊天室。Play的特性使得实时交互的实现变得简单,而其强大的模板引擎和WebSocket支持则为创建用户友好的界面提供了便利。通过深入了解和实践,开发者...

    play-java-forms-example.zip_java_play

    在Java开发领域,Play Framework是一个流行、现代且灵活的Web应用框架,它鼓励快速开发并提供了丰富的功能。本示例着重讲解如何在Play Framework中使用Java Forms,这是一种处理HTTP请求数据的有效方式。 一、Play ...

    play-angular2:[WIP]使用Scala Play Framework渲染通用Angular 2服务器

    总结,本项目是关于如何利用Scala Play Framework的灵活性和Angular 2的现代化特性,构建一个高效的服务器端渲染应用。通过这样的组合,我们可以创建一个既对搜索引擎友好,又具备良好用户体验的Web应用。在实际开发...

    play2学习文档

    《play2学习文档》是一本关于Play框架的学习资料,它旨在帮助开发者掌握如何使用Play 2这个全栈框架来开发出色的web应用。Play是一个用Scala和Java编写的高性能Web应用程序框架,它遵循MVC(模型-视图-控制器)设计...

    play-webpack-react:将Play Framework与Webpack,React等集成

    sbt new playframework/play-scala-seed.g8 ``` 接下来,将项目转换为支持JavaScript的版本。在`build.sbt`文件中添加以下配置: ```scala enablePlugins(PlayScala, ScalaJSWeb) scalaVersion := "2.13.4" ``` ...

    play-mongo-spike:使用Kerberos身份验证来测试与Play Framework 2.3设置的MongoDB副本集的连接

    总结来说,本文详细介绍了如何使用Kerberos身份验证连接到MongoDB副本集,以及如何在Play Framework 2.3的Java应用中实现这一功能。Kerberos的引入增强了数据安全性,而Play Framework的灵活性使得与数据库的集成变...

    play1.x连接mongodb

    总结来说,通过Play 1.x与MongoDB的集成,我们可以利用Morphia实现高效的数据操作。配置正确的连接信息,定义数据模型,以及在代码中使用Datastore接口,是连接并操作MongoDB的关键步骤。同时,确保进行充分的单元...

    tic-tac-toe:使用 Play Framework 编写的井字游戏

    总结来说,通过 tic-tac-toe 项目,我们不仅能学习到井字游戏的实现逻辑,还能深入理解 Play Framework 如何帮助开发者构建动态、高效的 Web 应用。这个项目为 Java 开发者提供了一个实践 MVC 架构、学习 Web 开发和...

    如何部署play

    ### 如何部署Play Framework #### 一、简介 Play Framework 是一个开源的Web应用框架,支持Java和Scala语言。它采用轻量级、无配置、模型-视图-控制器(MVC)的设计模式,旨在提高开发效率并简化Web应用程序的构建...

Global site tag (gtag.js) - Google Analytics