这个项目是我所在公司针对本身开开发的一个项目。分为两部分,一部分是给客户是用,一部分是给公司的人员是用。所以针对的登陆账号来判断是属于客户还是属于公司人员
@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 应用的最佳实践,包括容器化部署、持续集成/持续部署 (CI/CD) 流程等。 #### 四、案例研究与实战经验分享 - **企业级应用构建**:...
总结来说,Play Framework的部署涉及到环境配置、项目构建和运行等多个环节,理解每个步骤的作用和操作细节对于顺利部署项目至关重要。在实践中,还可能遇到各种特定问题,需要结合官方文档和其他资源灵活应对,确保...
### Play Framework Cookbook 知识点解析 #### 一、Play Framework 概览 - **定义与背景**:Play Framework 是一款轻量级、高效的 Java 和 Scala Web 应用框架,旨在简化 Web 开发过程,提高开发效率。它采用了一...
### Play Framework Cookbook Second Edition 关键知识点解析 #### 一、Play Framework 概述 - **定义与背景**:Play Framework 是一个开源的 Web 开发框架,适用于 Java 和 Scala,特别强调高生产力、易于测试和可...
3. **Play模式** - 开发模式(Application.mode=dev):无需重启服务器,每次请求都检查文件变化并自动编译,适合开发。 - 生产模式(Application.mode=prod):预编译机制,提高性能,适合线上环境。 4. **...
### Playframework Cookbook 知识点解析 #### 一、Play Framework 概览 - **框架定位**:Play Framework 是一个轻量级、高效的 Java 和 Scala Web 开发框架,旨在简化 Web 应用程序的开发过程。 - **核心特性**: ...
总结起来,Play Framework的缓存功能是构建高性能Web应用的关键组件之一。正确理解和使用缓存API,结合适当的缓存策略,可以极大地优化数据库交互,提升系统响应速度,同时要留意缓存的局限性,如数据一致性问题和...
Play Framework 提供了简单易用的邮件发送工具,允许开发者通过 `play.libs.Mail` 类发送邮件。你可以创建基于 MVC 的邮件通知器,利用模板机制生成动态邮件内容,支持HTML和纯文本格式。此外,配置邮件服务器参数,...
这个示例项目"play-slick3-steps"旨在演示如何在Play Framework中集成Slick 3.x版本,以便与MySQL数据库进行交互。通过这个教程,你将学习到以下关键知识点: 1. **环境配置**: - 首先,确保已经安装了Java、...
《Play Framework与C3P0整合插件详解》 Play Framework是Java领域中的一款轻量级、基于MVC(Model-View-Controller)架构的Web应用框架,它以简洁、高效和可测试性著称。C3P0则是一款开源的JDBC连接池,能够有效地...
总结来说,"play-java-fileupload-example.zip_java_play_rately7" 是一个基于Java的Play Framework项目,用于演示如何在Play的rately7版本中处理文件上传操作。通过研究此示例,开发者可以学习到如何在实际项目中...
总结,通过Play Framework,我们可以快速构建一个功能完备的Java聊天室。Play的特性使得实时交互的实现变得简单,而其强大的模板引擎和WebSocket支持则为创建用户友好的界面提供了便利。通过深入了解和实践,开发者...
在Java开发领域,Play Framework是一个流行、现代且灵活的Web应用框架,它鼓励快速开发并提供了丰富的功能。本示例着重讲解如何在Play Framework中使用Java Forms,这是一种处理HTTP请求数据的有效方式。 一、Play ...
总结,本项目是关于如何利用Scala Play Framework的灵活性和Angular 2的现代化特性,构建一个高效的服务器端渲染应用。通过这样的组合,我们可以创建一个既对搜索引擎友好,又具备良好用户体验的Web应用。在实际开发...
《play2学习文档》是一本关于Play框架的学习资料,它旨在帮助开发者掌握如何使用Play 2这个全栈框架来开发出色的web应用。Play是一个用Scala和Java编写的高性能Web应用程序框架,它遵循MVC(模型-视图-控制器)设计...
sbt new playframework/play-scala-seed.g8 ``` 接下来,将项目转换为支持JavaScript的版本。在`build.sbt`文件中添加以下配置: ```scala enablePlugins(PlayScala, ScalaJSWeb) scalaVersion := "2.13.4" ``` ...
总结来说,本文详细介绍了如何使用Kerberos身份验证连接到MongoDB副本集,以及如何在Play Framework 2.3的Java应用中实现这一功能。Kerberos的引入增强了数据安全性,而Play Framework的灵活性使得与数据库的集成变...
总结来说,通过Play 1.x与MongoDB的集成,我们可以利用Morphia实现高效的数据操作。配置正确的连接信息,定义数据模型,以及在代码中使用Datastore接口,是连接并操作MongoDB的关键步骤。同时,确保进行充分的单元...
总结来说,通过 tic-tac-toe 项目,我们不仅能学习到井字游戏的实现逻辑,还能深入理解 Play Framework 如何帮助开发者构建动态、高效的 Web 应用。这个项目为 Java 开发者提供了一个实践 MVC 架构、学习 Web 开发和...
### 如何部署Play Framework #### 一、简介 Play Framework 是一个开源的Web应用框架,支持Java和Scala语言。它采用轻量级、无配置、模型-视图-控制器(MVC)的设计模式,旨在提高开发效率并简化Web应用程序的构建...