`
schy_hqh
  • 浏览: 555592 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Play framework 小知识点

 
阅读更多

 

Secure模块

提供了简单的验证功能,只要使用@With(Secure.class)标注在Controller上即可!

1.需要验证:

应用中99%的功能,都必须要登陆后才能访问,将这些功能所在的Controller都添加@With(Secure.class)。

当访问Controller中的任何方法时就会进行登录检查。【注:play在Secure类的checkAccess()上使用 @Before(unless={"login", "authenticate", "logout"}),将这3个方法排除了,不会拦截】

 

2.不需要验证:

如,登录页面,权限检查,登出动作,注册页面,这些都不需要验证。

play提供了一个登录页面,需要加入注册页面,那么就需要新建一个Controller,并且不能被Secure进行检查。该Controller不使用@With(Secure.class),注册页面就不会被拦截了。

 

login页面的路径显示问题

如果没有为secure模块指定路由,URL显示为

http://localhost:9000/secure/login

 

如果为Secure模块指定了路由(Secure模块提供了一系列默认的路由配置):

#Import Secure routes

*       /             module:secure

则URL显示为:

http://localhost:9000/login

 

 

改造play的登陆页面,加入注册按钮

play secure:ov --login

修改app\views\Secure\login.html,添加注册按钮

#{extends 'Secure/layout.html' /}


<div id="login">
	
	<h1>&{'secure.title'}</h1>
		
	#{form @authenticate()}
		
		#{if flash.error}
			<p class="error">
				&{flash.error}
			</p>
		#{/if}
		#{if flash.success}
			<p class="success">
				&{flash.success}
			</p>
		#{/if}
	
		<p id="username-field">
			<label for="username">&{'secure.username'}</label>
			<input type="text" name="username" id="username" value="${flash.username}" />
		</p>
		<p id="password-field">
			<label for="password">&{'secure.password'}</label>
			<input type="password" name="password" id="password" value="" />
		</p>
		<p id="remember-field">
			<input type="checkbox" name="remember" id="remember" value="true" ${flash.remember ? 'checked="true"' : ''} />
			<label for="remember">&{'secure.remember'}</label>
		</p>
		<p id="signin-field">
			<input type="submit" id="signin" value="&{'secure.signin'}" />
			<!-- 加入注册按钮 -->
			<input type="button" id="reg" value="注册"/>
		</p>
	#{/form}
</div>

 

复制Secure模块下的secure.css,重命名为login.css,放到public\stylesheets目录下

这样做的目的是,不对play内部的样式文件进行修改,而是拷贝单独一份进行使用

修改login.css,目的在于将2个按钮放在一行显示

 

/*修改样式,将2个按钮放在一行*/
#signin-field input {
	display: inline;
    margin-top: 10px;
    margin-left: 90px;
}

/*用户名框与密码框等长*/
#username-field input {
    width: 150px;
    font-size: 13px;
}

 

 

同样,将login.html所依赖的layout.html一起拷贝到项目中

play secure:ov --layout

修改引入的样式文件,指向刚才那个新的login.css,这样就脱离了对play内部的依赖。

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <title>Login</title>		
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <!-- 使用修改后的样式文件 -->
        <link rel="stylesheet" type="text/css" media="screen" href="@{'/public/stylesheets/login.css'}" />
    </head>
    <body>
        #{doLayout /} 
    </body>
</html>

 

效果:



 

 

  • 大小: 18.6 KB
分享到:
评论

相关推荐

    play framework api,play! framework api,play api

    以下是一些关于Play Framework API的知识点: 1. **模块化设计**:Play Framework采用了模块化的设计,使得开发者可以方便地添加或替换特定功能,如模板引擎、持久化层等。 2. **异步编程**:Play Framework基于...

    Play Framework Cookbook.pdf

    ### Play Framework Cookbook 知识点解析 #### 一、Play Framework 概览 - **框架简介**:Play Framework 是一个开源的 Web 开发框架,基于 Java 和 Scala 编程语言。它采用轻量级、非阻塞的服务端架构,特别适合...

    Play Framework Cookbook

    ### Play Framework Cookbook 知识点解析 #### 一、Play Framework 概览 - **定义与背景**:Play Framework 是一款基于 Java 和 Scala 的高性能、轻量级 Web 开发框架。它采用 RESTful 架构设计,支持热重载功能,...

    Play Framework2本教程

    在Play Framework2中,你将学习到以下关键知识点: 1. **MVC架构**:Play遵循模型-视图-控制器(MVC)设计模式,这是一种用于构建可维护和可扩展的Web应用的经典方法。模型代表业务数据,视图负责渲染这些数据,而...

    playframework 框架学习之路 1

    在“Playframework框架学习之路 1”中,我们可能要探讨这个框架的基础概念、安装过程以及如何创建一个简单的应用。下面将详细介绍Play Framework的关键知识点。 1. **快速开发**: Play Framework以其快速开发能力而...

    Play Framework Cookbook(PlayFramework )(September 4, 2011)

    ### Play Framework Cookbook 知识点概览 #### 一、编写自定义渲染方法 - **知识点概述**:Play Framework 允许开发者编写自己的渲染方法,从而返回定制化的格式,如PDF、RSS或ATOM feed响应。 - **应用场景**:在...

    play framework 框架手册 word 版

    以下是对手册中部分核心知识点的详细阐述: 1. **MVC应用程序模型**:Play框架遵循经典的Model-View-Controller(MVC)设计模式。`app/controllers`包含控制器类,处理HTTP请求;`app/models`存放业务逻辑和数据...

    Play-Utils是一个专门为PlayFramework开发的实用工具包模块

    Play-Utils 模块主要包含以下几个关键知识点: 1. **类型安全的模板助手**: 在 Play Framework 中,模板引擎用于生成 HTML 输出。Play-Utils 提供了类型安全的助手方法,避免了模板中常见的类型转换错误,同时...

    Play Framework Cookbook Second Edition

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

    play framework 学生信息管理系统

    在使用Play Framework开发学生信息管理系统时,以下几个关键知识点值得深入理解: 1. **路由(Routing)**:Play Framework 的路由系统是其核心特性之一,它定义了HTTP请求与应用程序Action之间的映射。在项目中,...

    Playframework Cookbook

    ### Playframework Cookbook 知识点解析 #### 一、Play Framework 概览 - **框架定位**:Play Framework 是一个开源的、轻量级的 Web 应用开发框架,主要面向 Java 和 Scala 开发者。它支持现代 web 开发的需求,...

    Play_Framework(手册、配置文档、标签等)

    以下是关于Play Framework的一些核心知识点: 1. **MVC架构**:Play Framework 基于MVC模式,它将应用分为模型、视图和控制器三个部分,有助于保持代码的清晰和分离。模型负责业务逻辑,视图负责用户界面,控制器则...

    Playframework cookbook

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

    Play Framework Cookbook 代码

    在这一代码库中,我们可以找到以下关键知识点: 1. **Action Creators**:在Play框架中,Action Creator是处理HTTP请求的核心组件。它们定义了如何将请求转化为业务逻辑并返回响应。代码可能包含不同的Action实例,...

    play framework 框架个人笔记

    Play Framework 是一个开源的Web应用框架,以Java和Scala为后盾,致力于提供简洁、高效、可测试的开发体验。...通过学习和掌握上述知识点,开发者能够更好地利用Play Framework构建高性能、可维护的Web应用程序。

    Play Framework应用程序框架 v2.8.7-源码.zip

    以下是关于Play Framework v2.8.7的一些核心知识点: 1. **模块化设计**:Play Framework的核心设计理念是模块化,允许开发者按需选择和组合不同的组件,如模板引擎、数据库连接池等,这使得项目结构更加清晰,便于...

    Learning Play!Framework 2

    Framework 2 的核心知识点 #### 一、Play! Framework 2 概述 Play! Framework 2 是一个用于构建现代 web 应用程序的高性能、轻量级框架。它由 Java 和 Scala 支持,并且特别强调开发者的生产力。通过采用一种叫做...

    play-multi-multi-project:构建由多个服务和多个子模块组成的Playframework应用程序的示例

    在这个项目中,我们可以预期找到以下知识点: 1. **多服务架构**:了解如何定义和管理多个独立的服务,每个服务可能对应一个单独的子项目,具有自己的数据库、API接口和业务逻辑。 2. **子模块管理**:学习如何在...

Global site tag (gtag.js) - Google Analytics